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.
Metadata
Release files for periodiq 0.14.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| periodiq-0.14.0.tar.gz | 6.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| periodiq-0.14.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.2 kB
Release files / periodiq-0.14.0.tar.gz
| Download URL | periodiq-0.14.0.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
88a61d4b5872b24c4cfdd70c0885952673bb6f748a29301b9aa08cb87f5d23a7
|
|
BLAKE2b-256 checksum How to use checksums |
0447c31ebbad6190d287020fb5cec98e433a4a3f3646492cc6ec8dc1fc1c6115
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / periodiq-0.14.0-py3-none-any.whl
| Download URL | periodiq-0.14.0-py3-none-any.whl |
|---|---|
| Size | 7.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2aeebd8a10e11ca211b4ce0e05785c5848e2d2002d7b4d33cbaae9a330c0bb69
|
|
BLAKE2b-256 checksum How to use checksums |
cbf80a278b00593578d8fccf709b198034291d21a4772b6171bd2e84bfaaedc1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|