Simple Scheduler for Dramatiq Task Queue
Project description
Simple Scheduler for Dramatiq Task Queue
dramatiq task queue is great but lacks a scheduler. This project fills the gap.
Features
- Cron-like scheduling.
- Single process.
- Fast and simple implementation.
- Easy on resources using SIGALRM.
- No dependencies except dramatiq ones.
- CLI consistent with dramatiq.
- Skip outdated message.
Installation
periodiq is licensed under LGPL 3.0+. Please see COPYING and COPYING.LESSER for licensing details.
$ pip install periodiq
Declare periodic tasks like this:
# filename: app.py
import dramatiq
from periodiq import PeriodiqMiddleware, cron
broker.add_middleware(PeriodiqMiddleware(skip_delay=30))
@dramatiq.actor(periodic=cron('0 * * * *'))
def hourly():
# Do something each hour…
...
Then, run scheduler with:
$ periodiq -v app
[INFO] Starting Periodiq, a simple scheduler for Dramatiq.
[INFO] Registered periodic actors:
[INFO]
[INFO] m h dom mon dow module:actor@queue
[INFO] ------------------------ ------------------
[INFO] 0 * * * * app:hourly@default
[INFO]
...
Support
If you need help or found a bug, consider opening a GitLab issue on the project. French and English spoken.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
periodiq-0.13.0.tar.gz
(20.2 kB
view hashes)
Built Distribution
periodiq-0.13.0-py3-none-any.whl
(36.9 kB
view hashes)
Close
Hashes for periodiq-0.13.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f30d0d80ff7fa005958d1730e03f5a085420bb79aaa3b8331265d20d8a2e57af |
|
MD5 | 11a5ff924d425acae8546f9e9538d091 |
|
BLAKE2b-256 | 1bf13ddb6669e523068b009ca0f4a2e76e847a709df5a4b78ae015a73dd091e5 |