RQ Retry and Scheduler
Project description
RQ Retry Scheduler
RQ Retry Scheduler extends the RQ worker class to provide functionality to enqueue jobs based on time.
Additionally, it provides a worker that will automatically retry failed jobs using a backoff scheme.
Usage
Queues
The rq_retry_scheduler.Queue class can be used as a drop in replacement for rq.Queue. It provides two additional enqueuing methods:
enqueue_at - Enqueue the job at the specified time. The time should be a datetime.datetime object with the UTC timezone.
enqueue_in - Enqueue the job after the specified amount of time. The time should be a datetime.timedelta object.
Additionally, two other methods are available enqueue_job_at and enqueue_job_in which work like the above methods but take a rq.Job object as the paramter.
Scheduler
In order to move jobs from the schedule queue into the proper RQ queue a scheduler needs to be ran. This can be accomplished via the rqscheduler script. Additionally, you can extend from rq_retry_scheduler.Scheduler to customize the functonality.
Worker
A worker is provided that will requeue jobs that fail using a defiend backoff strategy. The worker is designed to use the functionality from the Queue class to control the backoff.
The worker can be used by using the -w option to rq worker: rq worker -w 'rq_rety_scheduler.Worker.
The backoff times and total attempts is controlled by Worker.retry_delays.
Installation
Install via pip
pip install rq-retry-scheduler
Acknowledgements
This package was based heavily on the work of RQ Scheduler.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for rq-retry-scheduler-0.1.0b4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d79925581dd8b50c4d28cbb60085065bf1f98489e9963c52a83f22cb558dd6c6 |
|
MD5 | 18cc5fa056e25135892a3f1b1cc98b75 |
|
BLAKE2b-256 | e8719c3d0aa84f02949a78b86941d33a3909b70d2b86e612043c6bf409599164 |