gpt4 book ai didi

python - 使用 RabbitMQ 有没有办法在没有出队操作的情况下查看队列内容?

转载 作者:IT老高 更新时间:2023-10-28 21:38:02 30 4
gpt4 key购买 nike

作为学习 RabbitMQ 和 python 的一种方式,我正在开展一个项目,该项目允许我在多台计算机之间分发 h264 编码。基础已经完成,我有一个在 Linux 或 Mac 上运行的守护进程,它附加到队列、接受作业并使用 HandBrakeCLI 对其进行编码,并在编码完成后确认消息。我还构建了一个简单的工具来将项目推送到队列中。

现在我想扩展将项目推送到队列中的工具的功能,以便我可以查看队列中的内容。我知道能够查看队列中有多少项目,但我希望能够获取实际消息,以便显示正在等待编码的电影或电视节目。这个想法是队列管理器将在作业完成时从编码器客户端接收消息,然后刷新队列列表。

我知道有一种复杂的方法可以使队列管理器的列表与实际工作队列保持同步,但我希望这是“持久的”,因为我应该能够关闭队列管理器并稍后重新打开它以查看队列。

最佳答案

不直接支持队列浏览,但是如果您声明一个没有自动确认的队列并且不确认您收到的消息,那么您可以看到其中的所有内容。查看完之后,在 channel 上发送 CANCEL,或者断开连接并重新连接以使所有消息重新排队。这确实会在消息头中增加一个数字,但不会影响消息。

我构建了一个应用程序,其中消息排序不是非常重要,并且我经常以这种方式扫描队列。如果发现问题,我会将消息转储到文件中,修复它们并重新提交。

如果您只需要偶尔查看一两条消息,您可以使用 RabbitMQ 管理插件来做到这一点。

此外,如果您只需要消息计数,则可以在每次声明队列时或在 basic.get 命令上获取。

关于python - 使用 RabbitMQ 有没有办法在没有出队操作的情况下查看队列内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4700292/

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