芹菜不断创造rabbitmq队列,遍布各地

时间:2014-07-23 12:34:32

标签: django rabbitmq celery

使用芹菜(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选项?在哪里有一些缺失的任务?别的什么?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我不确定django或您的代码是如何定义@shared_task装饰器的,但您是否尝试在其中明确设置队列?

@shared_task(ignore_results=True, queue="myexamplequeue")

只要您在myexamplequeue上致电.delay().apply_async(),就会将此消息应用于somefunc