如何让多个celery工作者运行相同的任务?

7
我有一个任务,需要检查一个url的速度,但我想让不同服务器上的多个celery工作者执行此任务。 我希望同一url由多个工作者进行检查。
我该怎么做?
1个回答

7
如果您能设置ignore_result=True,请尝试使用广播
如果您无法设置,请查看路由任务,并将任务多次发送到不同的队列,例如不同的IDC和相应的工作进程。

1
我考虑过将相同的任务发送到多个队列(每个工作器一个队列),但那似乎不是一种真正明智的解决方案。我要看看广播是否适用于我。 - gawry
@gawry 没问题。只是好奇你是如何收集页面速度数据的。 - okm
我现在的做法还比较幼稚(但我希望以后能改进)- 在调用URL之前,我只是添加了一个start_date = datetime.now(),在调用URL之后添加了一个end_date。 - gawry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接