sibson / redbeat

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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

License:Apache License 2.0


Languages

Language:Python 98.2%Language:Makefile 1.8%