{ "info": { "author": "Sam Miller", "author_email": "sm11963@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Object Brokering" ], "description": "# celerybeatmongo\nA very simple Celery Beat Scheduler that stores status information in a MongoDB database.\n\n# Install\n\n```\npip install celerybeatmongo\n```\n\n# Details\n\nThis project provides a Celery Beat Scheduler that uses MongoDB to store the schedule stats (last run, run count, etc.). This is safer than using a file on your server which could be cleared or corrupted (on Heroku for example). This scheduler aims to replace the default Beat Scheduler provided with Celery. There are a few caveats though:\n\n* Only supports interval scheduling (currently, easy to add support for Crontab and Solar)\n* Can only pass native JSON types (dict, list, str, number) to `kwargs`, `args`, and `options` for tasks\n\n## Motivation\n\nI started this project because I run Celerybeat on Heroku and I started noticing that tasks were being dropped. This was because the default Celerybeat Scheduler (`[celery.beat.PersistentScheduler](http://docs.celeryproject.org/en/latest/reference/celery.beat.html#celery.beat.PersistentScheduler)`) uses a shelve database file that it adds the current directory. In Heroku this file was cleared and so the schedule data was not saved reliably. With the `celerybeatmongo.MongoPersistentScheduler` this is not an issue anymore.\n\n# Example\n\nPlease see `examples/celery_worker.py` for a simple example to just try it out. \n\nRunning the example requires MongoDB and Redis (you can edit it to use another Broker instead if Redis if you want).\n* [Install Redis](https://redis.io/topics/quickstart)\n* [Install MongoDB](https://docs.mongodb.com/manual/installation/)\n\nYou can run the following to start the example:\n\n1. In a seperate terminal window, start Redis:\n ```shell\n $ redis-server # start redis\n ```\n\n2. In a seperate terminal window, start MongoDB:\n ```shell\n $ mongod\n ```\n\n3. Then start the example worker:\n ```shell\n $ pip install redis\n $ python examples/celery_worker.py\n ```\n\n\n# Contribute\n\nPlease add issues or put up pull requests if you need more functionality or have suggestions. Its a new project and should be easy to contribute to!\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sm11963/celerybeatmongo", "keywords": "celery beat scheduler mongo python", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "celerybeatmongo", "package_url": "https://pypi.org/project/celerybeatmongo/", "platform": "", "project_url": "https://pypi.org/project/celerybeatmongo/", "project_urls": { "Homepage": "https://github.com/sm11963/celerybeatmongo" }, "release_url": "https://pypi.org/project/celerybeatmongo/0.1.2/", "requires_dist": [ "celery", "marshmallow", "pymongo", "python-dateutil", "setuptools", "pytest; extra == 'test'" ], "requires_python": "", "summary": "A very simple Celery Beat Scheduler that stores status information in a MongoDB database.", "version": "0.1.2" }, "last_serial": 2898979, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "1d2ef5945ec3f4de59b4ba7424f633b0", "sha256": "7cefcfeaaca9883313edca47c5300123d918aea52baaa88c1c72f7c7c27fbd3b" }, "downloads": -1, "filename": "celerybeatmongo-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1d2ef5945ec3f4de59b4ba7424f633b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5315, "upload_time": "2017-05-14T21:52:52", "url": "https://files.pythonhosted.org/packages/86/9a/43f6f89ffa45eeba7ced3a5d1cb90d39becc1d4799e98e60c43a85992ec4/celerybeatmongo-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee03d684ecfd932b09f010f975ac9fc8", "sha256": "78172420b25cdd8fcf4815b38acea7e2bb72074037c80463f9fed2f125d8c2d5" }, "downloads": -1, "filename": "celerybeatmongo-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ee03d684ecfd932b09f010f975ac9fc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4422, "upload_time": "2017-05-14T21:52:53", "url": "https://files.pythonhosted.org/packages/b5/04/e4a226ec6b53102990774655a1101b5e7bcb1e6ca1758784b528403be632/celerybeatmongo-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "133ab7feaed953c25d5086b38d82175f", "sha256": "b6912759a7d1fe6676c6308354c8577121884939f38b8ef42b0a8cef83fb8c9e" }, "downloads": -1, "filename": "celerybeatmongo-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "133ab7feaed953c25d5086b38d82175f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5322, "upload_time": "2017-05-14T23:24:51", "url": "https://files.pythonhosted.org/packages/ac/87/aa53cb85f132b701f8393e5319ecf949d71d54c013942212bfb725d0e621/celerybeatmongo-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a7a7c2f615b63488735a587803a49c2", "sha256": "836de64b15cd908c2dc4cc87156780e40680ec98a02d374a727b374c67c358d5" }, "downloads": -1, "filename": "celerybeatmongo-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6a7a7c2f615b63488735a587803a49c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4402, "upload_time": "2017-05-14T23:24:52", "url": "https://files.pythonhosted.org/packages/ed/16/6266a7aaf64ffc8238d5f974aa14e8337a52f3e649ffeab5735066484b2d/celerybeatmongo-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b1571e716d4272300d323033b97cf32e", "sha256": "b93ff8ca0560c350ba9e0355ca7f76108edad6f1db3c00079f6b6c1e01f17d4f" }, "downloads": -1, "filename": "celerybeatmongo-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b1571e716d4272300d323033b97cf32e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7077, "upload_time": "2017-05-25T20:52:22", "url": "https://files.pythonhosted.org/packages/e4/7a/7b1952942b345b23f293d18b72df8619fb87373cfda1532227de0424596e/celerybeatmongo-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9bb743e1ef2732cb810520112c43f932", "sha256": "bb8bd09c208d9cff4a27f09a79fdeecdf09d4fc0cdd885155137715d9b22e765" }, "downloads": -1, "filename": "celerybeatmongo-0.1.2.tar.gz", "has_sig": false, "md5_digest": "9bb743e1ef2732cb810520112c43f932", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5327, "upload_time": "2017-05-25T20:52:23", "url": "https://files.pythonhosted.org/packages/a5/17/75160346bbbd08639bd84df997a5f32c1f48a453cefa6191fdef15e42642/celerybeatmongo-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b1571e716d4272300d323033b97cf32e", "sha256": "b93ff8ca0560c350ba9e0355ca7f76108edad6f1db3c00079f6b6c1e01f17d4f" }, "downloads": -1, "filename": "celerybeatmongo-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b1571e716d4272300d323033b97cf32e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7077, "upload_time": "2017-05-25T20:52:22", "url": "https://files.pythonhosted.org/packages/e4/7a/7b1952942b345b23f293d18b72df8619fb87373cfda1532227de0424596e/celerybeatmongo-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9bb743e1ef2732cb810520112c43f932", "sha256": "bb8bd09c208d9cff4a27f09a79fdeecdf09d4fc0cdd885155137715d9b22e765" }, "downloads": -1, "filename": "celerybeatmongo-0.1.2.tar.gz", "has_sig": false, "md5_digest": "9bb743e1ef2732cb810520112c43f932", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5327, "upload_time": "2017-05-25T20:52:23", "url": "https://files.pythonhosted.org/packages/a5/17/75160346bbbd08639bd84df997a5f32c1f48a453cefa6191fdef15e42642/celerybeatmongo-0.1.2.tar.gz" } ] }