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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file periodiq-0.14.0.tar.gz.
File metadata
- Download URL: periodiq-0.14.0.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88a61d4b5872b24c4cfdd70c0885952673bb6f748a29301b9aa08cb87f5d23a7
|
|
| MD5 |
5471b053137138f9d6a95dec8a544fd3
|
|
| BLAKE2b-256 |
0447c31ebbad6190d287020fb5cec98e433a4a3f3646492cc6ec8dc1fc1c6115
|
File details
Details for the file periodiq-0.14.0-py3-none-any.whl.
File metadata
- Download URL: periodiq-0.14.0-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2aeebd8a10e11ca211b4ce0e05785c5848e2d2002d7b4d33cbaae9a330c0bb69
|
|
| MD5 |
18981fa825f97478ec7cf562612cb0ad
|
|
| BLAKE2b-256 |
cbf80a278b00593578d8fccf709b198034291d21a4772b6171bd2e84bfaaedc1
|