我有一个大循环来生成任务:
for i in range(1000):
receiver.apply_async(args=(i), kwargs={}, exchange=topic_exchange, routing_key=topic_key)
我发现在celebry3.X之前有一个模块celery.contrib.batches
,或者在celebrity4.X之后有一个celery_batches
,但这个模块似乎不支持这样的参数。那么我该怎么做呢?
我用的是芹菜4.4.7配拉比q。
如果通过"批次";您指的是所有任务的一小部分(chunk(,然后您可以查看chunk。如果你关心结果,我建议你使用Chord,而不是使用块(它们毕竟是为了不同的目的而制作的(。如果没有,那么只需创建一个组。千个任务不算什么——我们已经有了由数万个任务组成的和弦/组,Celery很好地应对了这种负载。