celery-redbeat 2.4.2


pip install celery-redbeat

  Latest version

Released: Jul 27, 2026

Project Links

Meta
Author: Marc Sibson
Requires Python: >=3.9

Classifiers

Development Status
  • 5 - Production/Stable

License
  • OSI Approved :: Apache Software License

Topic
  • System :: Distributed Computing
  • Software Development :: Object Brokering

Programming Language
  • Python
  • Python :: 3
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13
  • Python :: Implementation :: CPython

Operating System
  • OS Independent
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

Wheel compatibility matrix

Platform Python 2 Python 3
any

Files in release

Extras: None
Dependencies:
redis (>=3.2)
celery (>=5.0)
python-dateutil
tenacity