我有一个运行cron脚本的django项目,执行管理命令。此命令为循环任务芹菜创建于:芹菜任务消失
for r in pr:
log_task(tasks_logger.info, "to_queue", r)
remind.delay(r, now, send_all)
,任务看起来是这样的:
class RTask(Task):
abstract = True
def on_failure(self, exc, task_id, args, kwargs, einfo):
r = args[0]
log_task(logger.error, exc, r)
log_task(logger_tb.error, einfo, r)
@task(base=RTask)
def remind(r, now, send_all):
log_task(logger.info, "from_queue", r)
....
就像你看到的,我的任务执行前和里面第一行有一个记录器。问题是 - 在项目代码更新后(另一个程序员添加了其他任务和芹菜版本更新),我的大多数任务开始消失。我的日志文件看起来像这样(只执行8-10 1任务):
[2014-03-12 12:45:08,806] 106152122 INFO to_queue
[2014-03-12 12:45:08,819] 106138932 INFO to_queue
[2014-03-12 12:45:08,915] 106121944 INFO to_queue
[2014-03-12 12:45:08,916] 110418819 INFO from_queue
[2014-03-12 12:45:08,922] 106075777 INFO to_queue
芹菜日志文件不包含任何有用的信息。兔子也是。 它有很多这样的东西,但它与我的任务没有关系,或者它呢?
[2014-03-12 12:58:43,091: INFO/MainProcess] Got task from broker: celery.chord_unlock[7fe8f29f-69e1-456c-8a14-7fae0cfacc33] eta:[2014-03-12 12:58:44.089401+00:00]
[2014-03-12 12:58:43,092: INFO/MainProcess] Task celery.chord_unlock[7fe8f29f-69e1-456c-8a14-7fae0cfacc33] retry: Retry in 1s
[2014-03-12 12:58:43,092: INFO/MainProcess] Task celery.chord_unlock[7b1d4a6b-9a34-43e9-98c9-851c93ace5ce] retry: Retry in 1s
可能是什么问题? 如何跟踪任务以了解它何时消失?
请帮助=)
您是否尝试将日志级别设置为DEBUG而不是INFO? – olofom
>>您是否尝试将日志级别设置为DEBUG而不是INFO? 没有附加信息=( – shaihulud
这很难说,你的问题是没有什么详细信息,请首先尝试 'rabbitmqctl list_queues' 或者如果你使用虚拟主机: 'rabbitmqctl list_queues -p' ,看到这些任务真的得到存储在RabbitMQ中。 如果没有,请再次检查您的配置文件。请注意,如果您使用的是django_celery,则需要将其添加到设置: 'import djcelery; djcelery.setup_loader()'。顺便说一句:如果你有多个工作人员并且正在登录到同一个文件,你可能会遇到文件锁定问题,一些工作人员会覆盖其他人的线路。 –
seeg