使用芹菜(3.1.8 +)和django 1.6 所有任务都被定义为忽略结果(这是正确的语法吗?)
@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 / x-python-serialize有效载荷118个字节 编码:base64 gAJ9cQEoVQZzdGF0dXNxAlUHU1VDQ0VTU3EDVQl0cmFjZWJhY2txBE5VBnJlc3VsdHEFTlUHdGFza19pZHEGVSQxOTkyNmZhOS05NjVlLTQwYzEtOWVkOS02 NDBjMmI0MmNlMWVxB1UIY2hpbGRyZW5xCF11Lg ==
如果我将芹菜设置为“始终渴望”模式,那么问题就解决了,但这对于生产服务器来说显然不是一个好的解决方案。
任何线索?这是否连接到ignore_result选项?在哪里有一些缺失的任务?别的什么?
感谢您的帮助
答案 0 :(得分:1)
我不确定django或您的代码是如何定义@shared_task
装饰器的,但您是否尝试在其中明确设置队列?
@shared_task(ignore_results=True, queue="myexamplequeue")
只要您在myexamplequeue
上致电.delay()
或.apply_async()
,就会将此消息应用于somefunc
。