Skip to main content

Simple Scheduler for Dramatiq Task Queue

Project description

Simple Scheduler for Dramatiq Task Queue

dramatiq task queue is great but lake a scheduler. This project fills the gap.

Features

  • Cron-like scheduling.
  • Single process.
  • Fast and simple implementation.
  • Easy on ressources using SIGALRM.
  • No dependency except dramatiq ones.
  • CLI consistent with dramatiq.
  • Skip outdated message.

Installation

periodiq is licensed under LGPL 3.0+.

$ 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, mind 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.

Files for periodiq, version 0.12.1
Filename, size File type Python version Upload date Hashes
Filename, size periodiq-0.12.1-py3-none-any.whl (6.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size periodiq-0.12.1.tar.gz (6.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page