Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 芹菜块不执行任务_Python_Python 2.7_Celery_Celery Task - Fatal编程技术网

Python 芹菜块不执行任务

Python 芹菜块不执行任务,python,python-2.7,celery,celery-task,Python,Python 2.7,Celery,Celery Task,芹菜任务.py 从芹菜进口芹菜 app=芹菜(“任务”) app.config_from_对象('celeryconfig')) @应用程序任务(默认重试延迟=300,最大重试次数=5,确认延迟=True) 定义我的任务A(x,y): 返回x+y 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': app.start() celeryconfig.py 来自kombu导入交换,队列 代理URL='amqp://' 芹菜redis://localhost:63

芹菜任务.py

从芹菜进口芹菜
app=芹菜(“任务”)
app.config_from_对象('celeryconfig'))
@应用程序任务(默认重试延迟=300,最大重试次数=5,确认延迟=True)
定义我的任务A(x,y):
返回x+y
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app.start()
celeryconfig.py

来自kombu导入交换,队列
代理URL='amqp://'
芹菜redis://localhost:6379/0'
芹菜任务序列化程序='json'
芹菜\u结果\u序列化程序='json'
芹菜接受内容=['json']
芹菜时区='美国/洛杉矶'
芹菜\启用\ UTC=True
芹菜(
队列('default',交换('default'),路由_key='default'),
队列('for_task_A')、交换('for_task_A')、路由(routing)密钥('for_task_A'),
队列('for_task_B')、交换('for_task_B')、路由(routing)密钥('for_task_B'),
)
芹菜={
'芹菜任务。我的任务任务任务任务任务任务A':{'queue':'for任务任务任务A','routing任务任务A':'for任务任务任务A'},
'芹菜任务。我的任务任务任务任务任务任务任务':{'queue':'for任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务任务,
}
芹菜试验.py

从芹菜任务导入add2,我的任务,处理大量项目
来自芹菜进口集团
项目=拉链(X系列(1000),X系列(1000))
结果=我的任务块(项目,10).delay()
result.save()
打印结果
我这样开始工作:

celery -A celery_tasks worker --concurrency 20 --loglevel=info -Q for_task_A
我在“打印结果”中看到了这个

我试图优化(不确定是否有好处)将多个ID提交到同一个任务中,而不是按顺序执行

我错过了什么?

非常感谢您在画布上讨论的不要继承路由。 芹菜的创造者建议你应该这样称呼它

 target_task.chunks(…)(queue='for_task_A') 
我自己没有试过,所以我不能保证它会起作用


我希望这能让你走上正确的道路。

顺便说一句,如果我评论芹菜排队和芹菜路线,一切都会好的。看起来它确实会影响它,但为什么它不能在定义了队列/路由的情况下工作呢,chunks实际上是通过使用助手任务来实现的,因此芹菜路由使用的名称实际上是芹菜。chunks不是目标任务名称。还要注意,我已经修复了这个问题,因此它路由到目标任务,这将包含在芹菜3.2Guys中-这没有帮助。我想我需要等到3.2正式发布
for i in xrange(10000):        
    my_task_A.delay(i, i)
 target_task.chunks(…)(queue='for_task_A')