RedBeat is a Celery Beat Scheduler that stores the scheduled tasks and runtime metadata in Redis.
- Dynamic live task creation and modification, without lengthy downtime
- Externally manage tasks from any language with Redis bindings
- Shared data store; Beat isn't tied to a single drive or machine
- Fast startup even with a large task count
- Prevent accidentally running multiple Beat servers
For more background on the genesis of RedBeat see this [blog post](https://blog.heroku.com/redbeat-celery-beat-scheduler)
Install with pip:
pip install celery-redbeat
Configure RedBeat settings in your Celery configuration file:
redbeat_redis_url = "redis:https://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 availble on [Read the Docs](https://redbeat.readthedocs.io/en/latest/)
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 py.test tests
You can also quickly fire up a sample Beat instance with:
celery beat --config exampleconf