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.0b3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a7f166483e53a420550ec219226d183c0c09c3c8d12b384a7d0aa2979ae3360 |
|
MD5 | 3a7aa2dfeb4408f7be75dc96f4e38296 |
|
BLAKE2b-256 | 66b64f438c0343d3c00de9c9374a5a500f012dc811c10801c4ad4259449e88fe |