1

我正在尝试使用 pyramid_celery。我设法运行简单的任务。但是如何使用金字塔运行周期性任务呢?我需要在哪里写 CELERYBEAT_SCHEDULE?

4

2 回答 2

5

将 Pyramid 与 Celery 一起使用不需要使用 pyramid_celery 模块 - 后者只是一个薄集成层,它可能会使您的生活更轻松,也可能不会。在你的情况下,它看起来并没有让你的生活更轻松,对吧?

Pyramid 和 Celery 都有出色且非常详细的文档。pyramid_celery没有详细的文档。从我阅读的代码来看,它看起来像是从粘贴 .ini 文件中读取 celery 配置(如果是 pyramid_celery_demo 应用程序,则为 development.ini) - 我不知道如何将嵌套的 dict 粘贴到 .ini 文件中,但一些提交消息表明它应该可以工作

简而言之,您的选择是:

  • 阅读代码pyramid_celery并弄清楚它应该如何工作

  • 写信给包的作者

  • 放下包并使用普通的 Pyramid 和普通的 Celery,享受漂亮而清晰的文档。

进一步阅读代码表明他们从.ini文件中读取'eval()'字符串值以将它们转换为python结构,所以我假设放置类似的东西

CELERYBEAT_SCHEDULE = "{'key': 'value', 'another_key': 'another_value'}"

应该做的伎俩...

于 2012-07-06T10:10:53.937 回答
0

您需要将以下部分添加到项目的 development.ini 文件中

[celerybeat:task1]
task = app1.tasks.Task1
type = crontab
schedule = {"minute": 0}

schedule 是您需要以 cron 样式编写的格式。Task1 是要执行的任务。希望你明白了。有关更多详细信息,请访问此链接。https://pypi.python.org/pypi/pyramid_celery/

于 2015-03-28T07:18:51.283 回答