Skip to main content

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


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.13.0.tar.gz (20.2 kB view details)

Uploaded Source

Built Distribution

periodiq-0.13.0-py3-none-any.whl (36.9 kB view details)

Uploaded Python 3

File details

Details for the file periodiq-0.13.0.tar.gz.

File metadata

  • Download URL: periodiq-0.13.0.tar.gz
  • Upload date:
  • Size: 20.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.1 Linux/6.1.0-25-amd64

File hashes

Hashes for periodiq-0.13.0.tar.gz
Algorithm Hash digest
SHA256 ecd83d7614bb9e019aa2718b63c4ffe0a6c77fa0d49f33fd90c309982ddcf7cb
MD5 b9f7d3f7d56711c137bda0cc05fa0997
BLAKE2b-256 1389792352ff691f21f51e299ad67f98399c762b1b744cf38a2d128485b34c14

See more details on using hashes here.

File details

Details for the file periodiq-0.13.0-py3-none-any.whl.

File metadata

  • Download URL: periodiq-0.13.0-py3-none-any.whl
  • Upload date:
  • Size: 36.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.1 Linux/6.1.0-25-amd64

File hashes

Hashes for periodiq-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f30d0d80ff7fa005958d1730e03f5a085420bb79aaa3b8331265d20d8a2e57af
MD5 11a5ff924d425acae8546f9e9538d091
BLAKE2b-256 1bf13ddb6669e523068b009ca0f4a2e76e847a709df5a4b78ae015a73dd091e5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page