Skip to main content

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)

Source distribution for periodiq 0.14.0
File Size Uploaded
periodiq-0.14.0.tar.gz 6.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for periodiq 0.14.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.14.0 This release

2 release files

0.13.0

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page