首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PHP

swoole 结合 rabbitmq 的默认交换机遇到了一个问题

  •  
  •   wo642436249 · 54 天前 · 904 次点击
    这是一个创建于 54 天前的主题,其中的信息可能已经有所发展或是发生改变。

    生产和消费 rabbitmq 的代码,基本完全是从 rabbitmq 教程官方中第二个教程中复制过来的,但是发现一个问题,当我做了持久化后,消费者没有确认消息后,消息虽然正常的被放回到 rabbitmq 中了,但是这条消息已经无法再次读取了,除非重启 swoole 进程。目前的解决方案是关闭该 mq 的通道,然后重新建立通道去监听 mq,但是这样做会导致内存占用不断升高。

    2 回复  |  直到 2019-08-20 13:42:34 +08:00
        1
    suom   53 天前
    除非 channel 被关闭之类的,没有 ack 的任务是会一直被挂起的。
    消息处理完 ack,发生异常时视情况 ack 或者 unack。
        2
    davidyanxw   26 天前
    unack 或者 reject,指定 requeue 参数。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2116 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 12:21 · PVG 20:21 · LAX 05:21 · JFK 08:21
    ♥ Do have faith in what you're doing.