首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >过滤来自redis队列PyRSMQ的消息

过滤来自redis队列PyRSMQ的消息
EN

Stack Overflow用户
提问于 2020-10-21 12:58:30
回答 1查看 343关注 0票数 0

我正在使用PyRSMQ发送和接收消息。假设我有一个队列名"test“,我正在从发送方推送一条消息为"_batch1”和"_batch2“,而在消费者中,我需要订阅"test”队列,并只读取彭定康为"*_batch1“的消息。我如何使用Redis过滤队列中的消息,或者有什么解决办法?

EN

回答 1

Stack Overflow用户

发布于 2021-03-23 14:47:00

您可以使用worker类来处理消息。如果工作人员处理函数返回True,则消息将从队列中删除,如果没有,则保留在队列中供其他工作人员拾取。

例如:

代码语言:javascript
复制
def process(message_id, message, rc, ts):
    # process message here
    m_json = json.loads(message)
    if m_message["job1"]:
        # do something with message if job1
        # if return True the message will be deleted from queue
        return True
    else:
        # if return false message will be visible again in queue and wont be delted
        return False

# create worker for the queue and run it somewhere in your code, like in main()
rsqm_consumer = RedisSMQConsumer(qname=args.queue,
                                 processor=process,
                                 host=args.host, port=args.port, ns=args.ns, vt=args.vt,
                                 empty_queue_delay=args.empty_queue_delay, trace=args.trace)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64464082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档