在django 1.6中使用芹菜(3.1.8 +)定义所有任务以忽略结果(这是正确的语法吗?)
@shared_task(ignore_result=True)
def somefunc():
pass当我查看rabbitmq队列时,我看到越来越多的队列是由芹菜创建的,名称如下:
19926fa9965e40c19ed9640c2b42ce1e
并包含一条消息(类似于以下内容):
correlation_id: 19926fa9-965e-40c1-9ed9-640c2b42ce1e优先级:0 delivery_mode: 2个标头: content_encoding:二进制content_type: application/application序列化有效载荷118个字节编码: base64 NDBjMmI0MmNlMWVxB1UIY2hpbGRyZW5xCF11Lg==
如果我将芹菜设置为“总是渴望”模式,那么问题就解决了,但这显然不是生产服务器的好解决方案。
有什么线索吗?这与ignore_result选项有关联吗?有什么遗漏的任务吗?还有别的吗?
谢谢你的帮助
发布于 2014-07-23 18:52:16
我不知道django或您的代码是如何定义@shared_task装饰器的,但是您是否尝试过显式地在其中设置队列?
@shared_task(ignore_results=True, queue="myexamplequeue")这将在您在myexamplequeue上调用.delay()或.apply_async()时将消息应用于somefunc。
https://stackoverflow.com/questions/24910613
复制相似问题