一个非常简单的 Celery Beat Scheduler,将状态信息存储在 MongoDB 数据库中。
项目描述
# celerybeatmongo
一个非常简单的 Celery Beat 调度器,它将状态信息存储在 MongoDB 数据库中。
# Install
```
pip install celerybeatmongo
```
# Details
这个项目提供了一个 Celery Beat Scheduler,它使用 MongoDB 来存储调度统计信息(上次运行、运行计数等)。这比在服务器上使用可能被清除或损坏的文件(例如在 Heroku 上)更安全。这个调度器旨在替换 Celery 提供的默认节拍调度器。不过有一些注意事项:
* 只支持间隔调度(目前,很容易添加对 Crontab 和 Solar 的支持)
* 只能将原生 JSON 类型(dict、list、str、number)传递给 `kwargs`、`args` 和任务的`options`
##动机
我开始这个项目是因为我在 Heroku 上运行 Celerybeat,我开始注意到任务被丢弃了。这是因为默认的 Celerybeat 调度程序(`[celery.beat.PersistentScheduler](http://docs.celeryproject.org/en/latest/reference/celery.beat.html#celery.beat.PersistentScheduler)`)使用搁置它添加当前目录的数据库文件。在 Heroku 中,该文件已被清除,因此无法可靠地保存计划数据。使用 `celerybeatmongo.MongoPersistentScheduler` 这不再是问题。
# 示例
请参阅 `examples/celery_worker.py` 以获得一个简单的示例来尝试一下。
运行该示例需要 MongoDB 和 Redis(如果需要,您可以编辑它以使用另一个 Broker 代替 Redis)。
* [安装 Redis](https://redis.io/topics/quickstart)
* [安装 MongoDB](https://docs.mongodb.com/manual/installation/)
您可以运行以下命令来启动示例:
1. 在单独的终端窗口中,启动 Redis:
```shell
$ redis-server # start redis
```
2. 在单独的终端窗口中,启动 MongoDB:
```shell
$ mongod
```
3. 然后启动示例工作者:
```shell
$ pip install redis
$ python examples/celery_worker.py
` ``
# Contribute
如果您需要更多功能或有建议,请添加问题或提出拉取请求。这是一个新项目,应该很容易做出贡献!
一个非常简单的 Celery Beat 调度器,它将状态信息存储在 MongoDB 数据库中。
# Install
```
pip install celerybeatmongo
```
# Details
这个项目提供了一个 Celery Beat Scheduler,它使用 MongoDB 来存储调度统计信息(上次运行、运行计数等)。这比在服务器上使用可能被清除或损坏的文件(例如在 Heroku 上)更安全。这个调度器旨在替换 Celery 提供的默认节拍调度器。不过有一些注意事项:
* 只支持间隔调度(目前,很容易添加对 Crontab 和 Solar 的支持)
* 只能将原生 JSON 类型(dict、list、str、number)传递给 `kwargs`、`args` 和任务的`options`
##动机
我开始这个项目是因为我在 Heroku 上运行 Celerybeat,我开始注意到任务被丢弃了。这是因为默认的 Celerybeat 调度程序(`[celery.beat.PersistentScheduler](http://docs.celeryproject.org/en/latest/reference/celery.beat.html#celery.beat.PersistentScheduler)`)使用搁置它添加当前目录的数据库文件。在 Heroku 中,该文件已被清除,因此无法可靠地保存计划数据。使用 `celerybeatmongo.MongoPersistentScheduler` 这不再是问题。
# 示例
请参阅 `examples/celery_worker.py` 以获得一个简单的示例来尝试一下。
运行该示例需要 MongoDB 和 Redis(如果需要,您可以编辑它以使用另一个 Broker 代替 Redis)。
* [安装 Redis](https://redis.io/topics/quickstart)
* [安装 MongoDB](https://docs.mongodb.com/manual/installation/)
您可以运行以下命令来启动示例:
1. 在单独的终端窗口中,启动 Redis:
```shell
$ redis-server # start redis
```
2. 在单独的终端窗口中,启动 MongoDB:
```shell
$ mongod
```
3. 然后启动示例工作者:
```shell
$ pip install redis
$ python examples/celery_worker.py
` ``
# Contribute
如果您需要更多功能或有建议,请添加问题或提出拉取请求。这是一个新项目,应该很容易做出贡献!
项目详情
关
celerybeatmongo -0.1.2.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | bb8bd09c208d9cff4a27f09a79fdeecdf09d4fc0cdd885155137715d9b22e765 |
|
| MD5 | 9bb743e1ef2732cb810520112c43f932 |
|
| 布莱克2-256 | a51775160346bbbd08639bd84df997a5f32c1f48a453cefa6191fdef15e42642 |
关
celerybeatmongo -0.1.2-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | b93ff8ca0560c350ba9e0355ca7f76108edad6f1db3c00079f6b6c1e01f17d4f |
|
| MD5 | b1571e716d4272300d323033b97cf32e |
|
| 布莱克2-256 | e47a7b1952942b345b23f293d18b72df8619fb87373cfda1532227de0424596e |