我刚刚开始使用芹菜,试图定期执行任务。
已配置* rabbitmq **添加了celeryconfig.py。
并在tasks.py中添加了以下代码:
from celery.decorators import periodic_task
from datetime import timedelta
@periodic_task(run_every=timedelta(seconds=2))
def every_2_seconds():
print("Running periodic task!")
现在,当我通过在终端输入“celerybeat”来启动celerybeat时,它开始运行以下消息
celerybeat
celerybeat v3.0.3 (Chiastic Slide) is starting.
__ - ... __ - _
Configuration ->
. broker -> amqp://arnold@localhost:5672//
. loader -> celery.loaders.default.Loader
. scheduler -> celery.beat.PersistentScheduler
. db -> celerybeat-schedule
. logfile -> [stderr]@INFO
. maxinterval -> now (0s)
[2012-08-03 14:24:52,202: INFO/MainProcess] Celerybeat: Starting...
终端中没有every_2_seconds
方法的输出。我假设我必须在celerybeat命令中指定要运行的应用程序或任务。如何做?
如何指定任务并在每2秒后打印一行作为定期任务?
感谢。
答案 0 :(得分:3)
将CELERY_IMPORTS=("tasks",)
添加到celeryconfig.py,然后运行celerybeat。