Skip to main content

A Celery Beat Scheduler using Redis for persistent storage

Project description

Python Versions PyPI Package Actions Status ReadTheDocs Code style: black

RedBeat is a Celery Beat Scheduler that stores the scheduled tasks and runtime metadata in Redis.

Why RedBeat?

  1. Dynamic live task creation and modification, without lengthy downtime

  2. Externally manage tasks from any language with Redis bindings

  3. Shared data store; Beat isn’t tied to a single drive or machine

  4. Fast startup even with a large task count

  5. Prevent accidentally running multiple Beat servers

For more background on the genesis of RedBeat see this blog post

Getting Started

Install with pip:

pip install celery-redbeat

Configure RedBeat settings in your Celery configuration file:

redbeat_redis_url = "redis://localhost:6379/1"

Then specify the scheduler when running Celery Beat:

celery beat -A <celery_app_file_path>.<celery_app_instance_name> -S redbeat.RedBeatScheduler

If using the embedded beat in a worker process (like in development), specify the scheduler like so:

celery worker --beat --scheduler redbeat.RedBeatScheduler ...

RedBeat uses a distributed lock to prevent multiple instances running. To disable this feature, set:

redbeat_lock_key = None

More details available on Read the Docs

Development

RedBeat is available on GitHub

Once you have the source you can run the tests with make (recommended):

make setup
make test

Or using pip directly:

pip install -r requirements-dev.txt
python -m unittest discover tests

Optional: if you use mise to manage Python, it will read .mise.toml and install the pinned Python version. After that, still use make for tasks:

mise install
make setup && make test

You can also quickly fire up a sample Beat instance with:

celery beat --config exampleconf

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

celery_redbeat-2.4.1.tar.gz (34.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

celery_redbeat-2.4.1-py2.py3-none-any.whl (16.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file celery_redbeat-2.4.1.tar.gz.

File metadata

  • Download URL: celery_redbeat-2.4.1.tar.gz
  • Upload date:
  • Size: 34.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for celery_redbeat-2.4.1.tar.gz
Algorithm Hash digest
SHA256 c429ae50de25475e07c31e06261da6f6b7b8179f7e35f13060bafe6f7d3bf3ec
MD5 6978df1b2c49f749c28b5815501d0010
BLAKE2b-256 821e7d8b7836c70f28050c29516daf50ba39cea1db34fb40c716369b4f69e28a

See more details on using hashes here.

Provenance

The following attestation bundles were made for celery_redbeat-2.4.1.tar.gz:

Publisher: publish.yml on sibson/redbeat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file celery_redbeat-2.4.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for celery_redbeat-2.4.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4acf9e93c370bea2af93396e711f06445831954237af6c75176b7949027e9fc2
MD5 d5ad93739a9eb2ab2a72b7fa272c700a
BLAKE2b-256 3fac77932885b36f32c10038c7392b889c27fd8b19ffd2305132c43b7e10d593

See more details on using hashes here.

Provenance

The following attestation bundles were made for celery_redbeat-2.4.1-py2.py3-none-any.whl:

Publisher: publish.yml on sibson/redbeat

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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