Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sibson/redbeat
RedBeat is a Celery Beat Scheduler that stores the scheduled tasks and runtime metadata in Redis.
https://github.com/sibson/redbeat
celery redis
Last synced: 25 days ago
JSON representation
RedBeat is a Celery Beat Scheduler that stores the scheduled tasks and runtime metadata in Redis.
- Host: GitHub
- URL: https://github.com/sibson/redbeat
- Owner: sibson
- License: apache-2.0
- Created: 2015-08-20T05:10:07.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2024-03-28T11:37:12.000Z (9 months ago)
- Last Synced: 2024-04-14T13:10:18.587Z (8 months ago)
- Topics: celery, redis
- Language: Python
- Homepage:
- Size: 413 KB
- Stars: 873
- Watchers: 20
- Forks: 129
- Open Issues: 49
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.txt
- License: LICENSE
Awesome Lists containing this project
- starred-awesome - redbeat - RedBeat is a Celery Beat Scheduler that stores the scheduled tasks and runtime metadata in Redis. (Python)
README
RedBeat
=======.. image:: https://img.shields.io/pypi/pyversions/celery-redbeat.svg
:target: https://pypi.python.org/pypi/celery-redbeat
:alt: Python Versions.. image:: https://img.shields.io/pypi/v/celery-redbeat.svg
:target: https://pypi.python.org/pypi/celery-redbeat
:alt: PyPI Package.. image:: https://github.com/sibson/redbeat/workflows/RedBeat%20CI/badge.svg
:target: https://github.com/sibson/redbeat/actions
:alt: Actions Status.. image:: https://readthedocs.org/projects/redbeat/badge/?version=latest&style=flat
:target: https://redbeat.readthedocs.io/en/latest/
:alt: ReadTheDocs.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Code style: black`RedBeat `_ is a
`Celery Beat Scheduler `_
that stores the scheduled tasks and runtime metadata in `Redis `_.Why RedBeat?
-------------#. 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 serversFor more background on the genesis of RedBeat see this `blog post `_
Getting Started
---------------Install with pip:
.. code-block:: console
pip install celery-redbeat
Configure RedBeat settings in your Celery configuration file:
.. code-block:: python
redbeat_redis_url = "redis://localhost:6379/1"
Then specify the scheduler when running Celery Beat:
.. code-block:: console
celery beat -A . -S redbeat.RedBeatScheduler
If using the embedded beat in a worker process (like in development), specify the scheduler like so:
.. code-block:: console
celery worker --beat --scheduler redbeat.RedBeatScheduler ...
RedBeat uses a distributed lock to prevent multiple instances running.
To disable this feature, set:.. code-block:: python
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 testsYou can also quickly fire up a sample Beat instance with::
celery beat --config exampleconf