Support at_front requeue support (#1657)

Co-authored-by: Steve Kreitzer <skreitzer@cloudflare.com>
This commit is contained in:
Steve Kreitzer 2022-05-22 00:56:14 -05:00 committed by GitHub
parent 48df759879
commit ecf0d06090
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View File

@ -734,9 +734,9 @@ class Job:
# handle it
raise
def requeue(self):
def requeue(self, at_front=False):
"""Requeues job."""
return self.failed_job_registry.requeue(self)
return self.failed_job_registry.requeue(self, at_front=at_front)
def _remove_from_registries(self, pipeline=None, remove_from_queue=True):
if remove_from_queue:

View File

@ -110,7 +110,7 @@ class BaseRegistry:
score = self.connection.zscore(self.key, job.id)
return datetime.utcfromtimestamp(score)
def requeue(self, job_or_id):
def requeue(self, job_or_id, at_front=False):
"""Requeues the job with the given job ID."""
if isinstance(job_or_id, self.job_class):
job = job_or_id
@ -130,7 +130,7 @@ class BaseRegistry:
job.ended_at = None
job.exc_info = ''
job.save()
job = queue.enqueue_job(job, pipeline=pipeline)
job = queue.enqueue_job(job, pipeline=pipeline, at_front=at_front)
pipeline.execute()
return job