与芹菜的金字塔周期性任务

时间:2012-07-06 08:23:16

标签: python celery pyramid

我尝试使用pyramid_celery。我设法运行简单的任务。但金字塔如何运行周期性任务呢?我需要写CELERYBEAT_SCHEDULE的地方吗?

2 个答案:

答案 0 :(得分:5)

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

Pyramid和Celery都有非常详细的文档。 pyramid_celery没有详细的文档。从我阅读代码看起来它看起来像从paster .ini文件读取celery配置(在pyramid_celery_demo app的情况下为development.ini) - 我不知道如何将嵌套的dict粘贴到.ini文件中,但是一些提交消息表明它somehow should work

简而言之,您的选择是:

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

  • 写信给包的作者

  • 放下包裹,使用普通的金字塔和普通的芹菜,享受漂亮而清晰的文件。

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

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

应该做的伎俩...

答案 1 :(得分:0)

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

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

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