Return unfinished items to the queue when they can be retried.

This commit is contained in:
yackob03 2013-10-29 15:42:19 -04:00
parent 798cf78172
commit 6f105326aa
2 changed files with 8 additions and 0 deletions

View file

@ -54,6 +54,10 @@ class WorkQueue(object):
def complete(self, completed_item):
completed_item.delete_instance()
def incomplete(self, incomplete_item):
incomplete_item.available = True
incomplete_item.save()
image_diff_queue = WorkQueue('imagediff')
dockerfile_build_queue = WorkQueue('dockerfilebuild')

View file

@ -212,6 +212,10 @@ def process_work_items(pool):
def complete_callback(completed):
if completed:
dockerfile_build_queue.complete(local_item)
else:
# We have a retryable error, add the job back to the queue
dockerfile_build_queue.incomplete(local_item)
return complete_callback
logger.debug('Sending work item to thread pool: %s' % pool)