celery-redbeat


Namecelery-redbeat JSON
Version 2.2.0 PyPI version JSON
download
home_pagehttps://github.com/sibson/redbeat
SummaryA Celery Beat Scheduler using Redis for persistent storage
upload_time2023-12-22 13:34:29
maintainer
docs_urlNone
authorMarc Sibson
requires_python
licenseApache License, Version 2.0
keywords python celery beat redis
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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 <https://github.com/sibson/redbeat>`_ is a
`Celery Beat Scheduler <http://celery.readthedocs.org/en/latest/userguide/periodic-tasks.html>`_
that stores the scheduled tasks and runtime metadata in `Redis <http://redis.io/>`_.

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 servers

For more background on the genesis of RedBeat see this `blog post <https://blog.heroku.com/redbeat-celery-beat-scheduler>`_

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 -S 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 <https://redbeat.readthedocs.io/en/latest/>`_

Development
--------------
RedBeat is available on `GitHub <https://github.com/sibson/redbeat>`_

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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/sibson/redbeat",
    "name": "celery-redbeat",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "python,celery,beat,redis",
    "author": "Marc Sibson",
    "author_email": "sibson+redbeat@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/35/0d/63cf4db35c111554913199a54f32be3495526ff08189f9d79a879abcc6ad/celery-redbeat-2.2.0.tar.gz",
    "platform": null,
    "description": "RedBeat\n=======\n\n.. image:: https://img.shields.io/pypi/pyversions/celery-redbeat.svg\n   :target: https://pypi.python.org/pypi/celery-redbeat\n   :alt: Python Versions\n\n.. image:: https://img.shields.io/pypi/v/celery-redbeat.svg\n   :target: https://pypi.python.org/pypi/celery-redbeat\n   :alt: PyPI Package\n\n.. image:: https://github.com/sibson/redbeat/workflows/RedBeat%20CI/badge.svg\n   :target: https://github.com/sibson/redbeat/actions\n   :alt: Actions Status\n\n.. image:: https://readthedocs.org/projects/redbeat/badge/?version=latest&style=flat\n   :target: https://redbeat.readthedocs.io/en/latest/\n   :alt: ReadTheDocs\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n   :target: https://github.com/psf/black\n   :alt: Code style: black\n\n`RedBeat <https://github.com/sibson/redbeat>`_ is a\n`Celery Beat Scheduler <http://celery.readthedocs.org/en/latest/userguide/periodic-tasks.html>`_\nthat stores the scheduled tasks and runtime metadata in `Redis <http://redis.io/>`_.\n\nWhy RedBeat?\n-------------\n\n#. Dynamic live task creation and modification, without lengthy downtime\n#. Externally manage tasks from any language with Redis bindings\n#. Shared data store; Beat isn't tied to a single drive or machine\n#. Fast startup even with a large task count\n#. Prevent accidentally running multiple Beat servers\n\nFor more background on the genesis of RedBeat see this `blog post <https://blog.heroku.com/redbeat-celery-beat-scheduler>`_\n\nGetting Started\n---------------\n\nInstall with pip:\n\n.. code-block:: console\n\n    pip install celery-redbeat\n\nConfigure RedBeat settings in your Celery configuration file:\n\n.. code-block:: python\n\n    redbeat_redis_url = \"redis://localhost:6379/1\"\n\nThen specify the scheduler when running Celery Beat:\n\n.. code-block:: console\n\n    celery beat -S redbeat.RedBeatScheduler\n\nRedBeat uses a distributed lock to prevent multiple instances running.\nTo disable this feature, set:\n\n.. code-block:: python\n\n    redbeat_lock_key = None\n\nMore details available on `Read the Docs <https://redbeat.readthedocs.io/en/latest/>`_\n\nDevelopment\n--------------\nRedBeat is available on `GitHub <https://github.com/sibson/redbeat>`_\n\nOnce you have the source you can run the tests with the following commands::\n\n    pip install -r requirements-dev.txt\n    python -m unittest discover tests\n\nYou can also quickly fire up a sample Beat instance with::\n\n    celery beat --config exampleconf\n",
    "bugtrack_url": null,
    "license": "Apache License, Version 2.0",
    "summary": "A Celery Beat Scheduler using Redis for persistent storage",
    "version": "2.2.0",
    "project_urls": {
        "Homepage": "https://github.com/sibson/redbeat"
    },
    "split_keywords": [
        "python",
        "celery",
        "beat",
        "redis"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "350d63cf4db35c111554913199a54f32be3495526ff08189f9d79a879abcc6ad",
                "md5": "b3fb33638162ce8b97ba701dd33acb5e",
                "sha256": "71104729380d4eaefd91a9b7d270ba7851bfff9ad55a43ac8365acbb0c608b77"
            },
            "downloads": -1,
            "filename": "celery-redbeat-2.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b3fb33638162ce8b97ba701dd33acb5e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 21372,
            "upload_time": "2023-12-22T13:34:29",
            "upload_time_iso_8601": "2023-12-22T13:34:29.853005Z",
            "url": "https://files.pythonhosted.org/packages/35/0d/63cf4db35c111554913199a54f32be3495526ff08189f9d79a879abcc6ad/celery-redbeat-2.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-22 13:34:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sibson",
    "github_project": "redbeat",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "celery-redbeat"
}
        
Elapsed time: 1.25950s