首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Apache pulsar 在python的sdk中,延迟消息不起作用?

Apache pulsar 在python的sdk中,延迟消息不起作用?

提问于 2021-11-21 22:24:27
回答 0关注 0查看 186

生产者:

代码语言:javascript
复制
# 新增一个生产者(单个client下可以创建多个生产者,请尽量复用)
producer = mq_client.create_producer('persistent://pulsar-kxxxx/dev/test')
for i in range(10):
    producer.send(('Message-%d' % i).encode('utf-8'), deliver_at=int(datetime.timestamp(datetime.now() + timedelta(seconds=10))*1000))
# 关闭客户端(长时间不使用一定要记得关闭客户端,及时回收连接池资源)
mq_client.close()

消费者:

代码语言:javascript
复制
consumer = mq_client.subscribe('persistent://pulsar-kxxxx/dev/test', 'sub')
while True:
    msg = consumer.receive()
    try:
        print("Received message '{}' id='{}'".format(msg.data(), msg.message_id()))
        # 确认消息已经成功收到和处理
        consumer.acknowledge(msg)
    except:
        # 消息未被成功处理
        consumer.negative_acknowledge(msg)

不管使用deliver_after还是deliver_at, 发现没有延迟效果,只要生产者一推消息,消费者就直接消费掉了,是我用的不对吗?还是sdk有问题

python3.8.8 sdk:pulsar-client-2.8.0.post0

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

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