Fix NPE bug in RAC worker

We need to return `None`, not `0` if there are no additional repositories to measure
This commit is contained in:
Joseph Schorr 2017-04-11 15:37:46 -04:00
parent e47ac22012
commit 80693d6b8c
3 changed files with 9 additions and 5 deletions

View file

@ -41,7 +41,7 @@ def find_uncounted_repository():
.order_by(db_random_func()).get())
return to_count
except Repository.DoesNotExist:
return 0
return None
def count_repository_actions(to_count):

View file

@ -19,21 +19,22 @@ class RepositoryActionCountWorker(Worker):
to_count = model.repositoryactioncount.find_uncounted_repository()
if to_count is None:
logger.debug('No further repositories to count')
return
return False
logger.debug('Found repository #%s to count', to_count.id)
was_counted = model.repositoryactioncount.count_repository_actions(to_count)
if not was_counted:
logger.debug('Repository #%s was counted by another worker', to_count.id)
return
return False
logger.debug('Updating search score for repository #%s', to_count.id)
was_updated = model.repositoryactioncount.update_repository_score(to_count)
if not was_updated:
logger.debug('Repository #%s had its search score updated by another worker', to_count.id)
return
return False
logger.debug('Repository #%s search score updated', to_count.id)
return True
if __name__ == "__main__":
worker = RepositoryActionCountWorker()

View file

@ -7,4 +7,7 @@ def test_repositoryactioncount(app):
database.RepositorySearchScore.delete().execute()
rac = RepositoryActionCountWorker()
rac._count_repository_actions()
while rac._count_repository_actions():
continue