gpt4 book ai didi

redis - Acks_late : celery + redis broker/backend

转载 作者:可可西里 更新时间:2023-11-01 11:24:54 25 4
gpt4 key购买 nike

我正在研究 celery 代码。一旦任务函数通过 (task_trace) 运行,就会调用 acks_late。但是,在 Redis 中,一旦收到任务(即从 Redis 队列中弹出),RedisWorkerController 就会为其创建一个任务请求。如果工作节点死亡,它如何重新入队?

最佳答案

如果消息没有被确认,则消息不会再次入队(如果工作人员死亡,这是不可能的。它们确实以未确认的形式存在于 Redis 中)。

根据 celery 文档,Redis 代理有一个 visibility timeout mechanism .

因此,如果消息未在可见性超时内得到确认,我们应该能够期望消息再次传递给工作人员。这就是发生的事情。如果在处理 acks_late 任务期间断电,则在超过可见性超时后,在线工作人员会再次接收该任务。

关于redis - Acks_late : celery + redis broker/backend,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48538918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com