gpt4 book ai didi

redis - 使用 BLPOP 的 redis 作业队列

转载 作者:IT王子 更新时间:2023-10-29 05:55:23 24 4
gpt4 key购买 nike

我正在尝试使用 redis 和 ruby​​ eventmachine 创建无限作业队列。为了实现这一点,我使用超时为 0 的 redis BLPOP 命令。成功 BLPOP 后,我再次运行它。

我的方法是否正确,或者是否有更好的方法来使用 Redis 创建作业队列?

最佳答案

如果您单独使用 BLPOP 从队列中删除一条消息,而您的消息消费者未能处理它,则该消息将不得不重新排队,以免它与失败的消费者一起永远消失。

为了更持久的消息处理,必须维护正在处理的消息列表,以便在发生故障时可以重新排队。

[B]RPOPLPUSH 非常适合这种情况;它可以原子地从消息队列中弹出消息并将其推送到处理队列中,以便应用程序可以在消费者端发生故障时做出响应。

http://redis.io/commands/rpoplpush

实际的重新排队留给应用程序,但这个 redis 命令提供了这样做的基础。

还有一些使用 redis 的队列就地实现在网络上 float ,例如 RestMQ [ http://www.restmq.com/ ]

关于redis - 使用 BLPOP 的 redis 作业队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7241310/

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