• Stars
    star
    916
  • Rank 49,875 (Top 1.0 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created about 9 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

RedBeat

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 -S 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 the following commands:

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

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

celery beat --config exampleconf