def producter(message): # 消息生产者 # 获取与rabbitmq 服务的连接,虚拟队列需要指定参数 virtual_host,如果是默认的可以不填(默认为/),也可以自己创建一个 connection = pika.BlockingConnection( pika.ConnectionParameters(host='192.168.25.128', port=5672, credentials=pika.PlainCredentials('guest', 'guest'))) # 创建一个 AMQP 信道(Channel),建造一个大邮箱,隶属于这家邮局的邮箱 channel = connection.channel() # 声明消息队列tester,消息将在这个队列传递,如不存在,则创建 channel.queue_declare(queue='tester') # 向队列插入数值 routing_key的队列名为tester,body 就是放入的消息内容,exchange指定消息在哪个队列传递,这里是空的exchange但仍然能够发送消息到队列中,因为我们使用的是我们定义的空字符串“”exchange(默认的exchange) channel.basic_publish(exchange='', routing_key='tester', body=message) # 关闭连接 connection.close()
def close_connection(self, connection): """Close the AMQP broker connection.""" connection.close()
#!/usr/bin/env python import pika from pika import connection from pika import channel from get_time import data_atual, tempo_atual #pip install pika url = 'amqps://*****:*****@fish.rmq.cloudamqp.com/kyiirjzl' parametros = pika.URLParameters(url) connection = pika.BlockingConnection(parametros) channel = connection.channel() channel.queue_declare(queue='Queue_Data') messagem = "Data e Hora:\n" + data_atual + "\n" + tempo_atual channel.basic_publish(exchange='', routing_key='Queue_Data', body=messagem) print("Data Enviada!'") connection.close()