芹菜的结果.超时



我有两个不同的django项目说projAprojB,每个都有自己的芹菜守护进程运行在单独的队列上,但相同的vhost, projA有一个任务taskA和projB有一个任务taskB,我尝试从taskA内部运行taskB,例如

@task(routing_key='taskA')
def taskA(event_id):
    # do some work , then call taskB and wait for result
    result = send_task('taskB',routing_key='taskB')
    res = result.get(timeout=20)

我可以在projB的日志中看到taskkb在一秒钟内完成,但taskA一直在等待结果,并在20秒后超时

后端我有rabbitmq

设置结果后端修复了问题

CELERY_RESULT_BACKEND = "amqp"
CELERY_AMQP_TASK_RESULT_EXPIRES = 1000 

如果结果后端没有设置结果,则IMO。Get应该抛出错误或至少记录一个警告

虽然芹菜2.3抛出错误描述这里https://github.com/ask/django-celery/issues/66

最新更新