def get_connection_and_channel(self, connection_parameters):
connection = pika.BlockingConnection(connection_parameters)
channel = connection.channel()
return (connection, channel)
connection_parameters = pika.ConnectionParameters( server, port, virtual_host, credentials=pika.PlainCredentials(user_name, password))
connection,channel = self.get_connection_and_channel(connection_parameters)
channel.confirm_delivery()
count=0
for json_string in open(json_file, 'r'):
result_json = json.loads(json_string)
message_body = json.dumps(result_json['body'])
routing_key = result_json['RoutingKey']
channel.basic_publish(exchange=self.output_exchange_name,routing_key=routing_key,body=message_body.strip())
count += 1
self.logger.info('Sent %d messages' % count)
connection.close()
Run Code Online (Sandbox Code Playgroud)
我正在使用此代码将消息发送到RabbitMQ服务器.但偶尔这不会将所有消息发送到相应的队列.它每次运行时都会丢失随机数量的消息.
我无法理解这里的问题是什么.