在使用Celery和RabbitMQ时,无法在指定的未来时间运行计划任务。在
在Heroku服务器上使用Django和RabbitMQ附加组件。在
问题:
有时任务根本不运行,有时确实在运行,但它们运行的时间大大减少了(比如一个小时)。在
未运行的示例任务:
当我试图用倒计时或ETA运行任务时,它实际上从未执行过。以下是未运行的ETA任务示例:
>>> dummy_task.apply_async(eta=datetime.datetime.now() + timedelta(seconds=60))
<AsyncResult: 03001c1c-329e-46a3-8180-b115688e1865>
结果日志:
^{pr2}$一分钟后什么也没发生。我的Heroku RabbitMQ管理控制台中的unacknowledged message count
增加一个并保持不变。在
这是有效的:
通过验证是否可以使用delay()方法运行任务,我已经确保celery任务已正确注册,并且RabbitMQ被配置为接受任务。在
>>> dummy_task.delay()
<AsyncResult: 1285ff04-bccc-46d9-9801-8bc9746abd1c>
结果日志:
2012-07-24T14:29:26+00:00 app[worker.1]: [2012-07-24 10:29:26,513: INFO/MainProcess] Got task from broker: events.tasks.dummy_task[1285ff04-bccc-46d9-9801-8bc9746abd1c] .... 2012-07-24T14:29:26+00:00 app[worker.1]: [2012-07-24 10:29:26,571: INFO/MainProcess] Task events.tasks.dummy_task[1285ff04-bccc-46d9-9801-8bc9746abd1c] succeeded in 0.0261888504028s: None
如果有任何帮助,我们将不胜感激。谢谢!在
我有点明白了。因为我在调试,所以我很自然地将任务设置为在5到10分钟内运行。我不知道确切的原因,但我的设备很难处理这个问题。好像需要一定的时间来处理和排队任务。无论如何,提前一个多小时安排的任务已经正常运行。在
相关问题 更多 >
编程相关推荐