首页 > 解决方案 > 当芹菜块中的任务失败时继续

问题描述

我需要从远程服务器获取数百万个 ID。我不想一次创建数百万个任务,因为每次 fetch 都会创建几个其他任务,并且它可能会很快使我们的队列不堪重负(我无法创建新队列)。

我发现,我可以使用celery.chunks. 这将创建适量的并行任务。

FetchIdTask().chunks(milions_of_ids, 50000).apply_async()

我现在面临的问题是 fetch 不可靠,有时会返回 404。当这种情况发生时,整个块将失败,剩余的任务将不会执行。

当一个块中的一个任务失败时,是否有可能以某种方式继续?

标签: pythondjangocelerydjango-celery

解决方案


推荐阅读