Support at_front requeue support (#1657)

Co-authored-by: Steve Kreitzer <skreitzer@cloudflare.com>
main
Steve Kreitzer 3 years ago committed by GitHub
parent 48df759879
commit ecf0d06090
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -734,9 +734,9 @@ class Job:
# handle it # handle it
raise raise
def requeue(self): def requeue(self, at_front=False):
"""Requeues job.""" """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): def _remove_from_registries(self, pipeline=None, remove_from_queue=True):
if remove_from_queue: if remove_from_queue:

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

Loading…
Cancel
Save