我正在尝试使用pyramid_celery。我设法完成了一些简单的任务。但如何与金字塔运行的周期性任务?我需要在哪里写CELERYBEAT_SCHEDULE?
将Pyramid与Celery一起使用不需要使用Pyramid_Celery模块-后者只是一个薄薄的集成层,可能会也可能不会让您的生活更轻松。在你的情况下,这看起来并没有让你的生活更轻松,对吧?
Pyramid和Celery都有优秀且非常详细的文档。pyramid_celery
没有详细的文档。从我对代码的阅读来看,它看起来像是从paster.ini文件中读取芹菜配置(在pyramid_celery_demo应用程序的情况下为development.ini)——我不知道如何将嵌套的dict粘贴到.ini文件中,但一些提交消息表明它应该以某种方式工作。
简而言之,您的选择是:
-
阅读
pyramid_celery
的代码,并弄清楚它应该如何在中工作 -
写信给包的作者
-
放下包装,使用简单的金字塔和简单的芹菜,享受漂亮而清晰的文档。
进一步阅读代码表明,它们从.ini文件中读取"eval()"字符串值,以将其转换为python结构,因此我假设放入类似的东西
CELERYBEAT_SCHEDULE = "{'key': 'value', 'another_key': 'another_value'}"
应该做的把戏。。。
您需要将以下部分添加到项目的developer.ini文件中
[celerybeat:task1]
task = app1.tasks.Task1
type = crontab
schedule = {"minute": 0}
schedule是您需要用cron风格编写的格式。Task1是要执行的任务。希望你收到了。欲了解更多详情,请访问此链接。https://pypi.python.org/pypi/pyramid_celery/