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

Redis stream 消息队列如何增加优先处理任务?

  •  
  •   Te11UA · 2020-08-21 15:12:52 +08:00 · 5021 次点击
    这是一个创建于 1558 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以前一直用的 LIST 做消息队列,使用 rpush/blpop 做生产者消费者,现在发现了 STREAM 这个好东西,但是有一个需求似乎满足不了:

    一个生产者,对应多个消费者,但有时生产者需要发一个优先处理的任务消费,以前是用的 LIST rpush/blpop,如果有要优先消费的任务会直接 lpush,这样会优先处理。而 STREAM 只有 XADD 可以增加消息到队尾,想请问各位,这个需求在 STREAM 中是否可以满足?不行的话还是老老实实用回 LIST

    PS: 只考虑 Redis,不更换消息队列组件
    2 条回复    2020-08-21 16:17:13 +08:00
    wysnylc
        1
    wysnylc  
       2020-08-21 16:08:24 +08:00
    再创建一个 Stream 优先处理这里面的任务再处理原来的 Stream
    swulling
        2
    swulling  
       2020-08-21 16:17:13 +08:00 via iPhone
    两个队列,一个高优先级一个低优先级
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3806 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 10:29 · PVG 18:29 · LAX 02:29 · JFK 05:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.