我尝试使用此代码尝试动态添加/删除计划任务。
我的 tasks.py 文件如下所示:
from celery.decorators import task
import logging
log = logging.getLogger(__name__)
@task
def mytask():
log.debug("Executing task")
return
问题是这些任务实际上并没有执行(即没有日志输出),但我在我的 celery 日志文件中收到以下消息,完全按计划进行:
[2013-05-10 04:53:00,005: INFO/MainProcess] Got task from broker: cron.tasks.mytask[dfcf397b-e30b-45bd-9f5f-11a17a51b6c4]
[2013-05-10 04:54:00,007: INFO/MainProcess] Got task from broker: cron.tasks.mytask[f013b3cd-6a0f-4060-8bcc-3bb51ffaf092]
[2013-05-10 04:55:00,007: INFO/MainProcess] Got task from broker: cron.tasks.mytask[dfc0d563-ff4b-4132-955a-4293dd3a9ac7]
[2013-05-10 04:56:00,012: INFO/MainProcess] Got task from broker: cron.tasks.mytask[ba093535-0d70-4dc5-89e4-441b72cfb61f]
我可以肯定地确认记录器配置正确并且工作正常。如果我尝试result = mytask.delay()
在交互式 shell 中调用,result.state
将无限期包含 state PENDING
。
编辑:另见Django Celery Periodic Tasks Run But RabbitMQ Queues are not Consumed