Return unfinished items to the queue when they can be retried.
This commit is contained in:
parent
798cf78172
commit
6f105326aa
2 changed files with 8 additions and 0 deletions
|
@ -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')
|
||||
|
|
|
@ -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)
|
||||
|
|
Reference in a new issue