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.

Source Distribution

periodiq-0.12.1.tar.gz (6.5 kB view hashes)

Uploaded source

Built Distribution

periodiq-0.12.1-py3-none-any.whl (6.7 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page