gpt4 book ai didi

python - 无法停止吃皮卡

转载 作者:行者123 更新时间:2023-12-01 07:51:58 26 4
gpt4 key购买 nike

我无法从 Pika 返回数据,因为它 start_consuming 没有停止。它打印结果但不返回输出

def on_request(ch, method, props, body):
directory =body

print(directory.decode('utf-8'))
response = parse(directory.decode('utf-8'))

ch.basic_publish(exchange='',
routing_key=props.reply_to,
properties=pika.BasicProperties(correlation_id = \
props.correlation_id),
body=str(response))
ch.basic_ack(delivery_tag=method.delivery_tag)
def start():
print("hi")
connection = pika.BlockingConnection(
pika.ConnectionParameters(host='localhost'))

channel = connection.channel()


channel.queue_declare(queue='rpc_queue')

channel.basic_qos(prefetch_count=2)
channel.basic_consume(queue='rpc_queue', on_message_callback=on_request)

print(" [x] Awaiting RPC requests")
channel.start_consuming()

最佳答案

按照设计,start_consuming 会永远阻塞。您必须在 on_request 方法中取消消费者。

您还可以使用this method消费允许设置 inactivity_timeout 的消息,然后您可以取消您的消费者。

最后,SelectConnection 在与 Pika 的 I/O 循环交互方面提供了更大的灵 active ,当您的要求比 BlockingConnection 支持的更复杂时,建议您使用。

<小时/>

注意: RabbitMQ 团队监控 rabbitmq-users mailing list并且有时只在 StackOverflow 上回答问题。

关于python - 无法停止吃皮卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56165657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com