Te11UA
V2EX  ›  Redis

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

  •  
  •   Te11UA · Aug 21, 2020 · 5658 views
    This topic created in 2089 days ago, the information mentioned may be changed or developed.
    以前一直用的 LIST 做消息队列,使用 rpush/blpop 做生产者消费者,现在发现了 STREAM 这个好东西,但是有一个需求似乎满足不了:

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

    PS: 只考虑 Redis,不更换消息队列组件
    2 replies    2020-08-21 16:17:13 +08:00
    wysnylc
        1
    wysnylc  
       Aug 21, 2020
    再创建一个 Stream 优先处理这里面的任务再处理原来的 Stream
    swulling
        2
    swulling  
       Aug 21, 2020 via iPhone
    两个队列,一个高优先级一个低优先级
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6142 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 69ms · UTC 02:07 · PVG 10:07 · LAX 19:07 · JFK 22:07
    ♥ Do have faith in what you're doing.