python发送rabbitmq消息

此教程仅记录自己的操作,适合有MQ基础的同学
用python连接rabbitmq中间件服务,由于用的是公司的项目,不需要安装rabbitmq以及,新增exchange以及queue等。
此代码仅用于便于测试mq的推送
1.pip install pika
2.获取需要连接的rabbitmq地址以及用户名凭证密码等
3.获取推送消息的交换机,路由key,消息队列名称等

直接上代码

# -*- coding: utf-8 -*-
# @Time : 2022/7/10 11:17
# @Author : Shaox
# @File : get_rabbitmq.py
# @explain :连接 rabbitmq
# @Software: PyCharm

import json
import pika

class get_rabbitmq:
    def __init__(self):
        # 获取与rabbitmq 服务的连接,虚拟队列需要指定参数 virtual_host,如果是默认的可以不填(默认为/),也可以自己创建一个
        self.connection = pika.BlockingConnection(pika.ConnectionParameters(host='127.0.0.1', port=5672, credentials=pika.PlainCredentials('user', 'password')))
        # 创建一个 AMQP 信道(Channel)
        self.channel = self.connection.channel()
	
	# 定义生产者并将消息推送到指定的交换机
    def producter(self,exchange,queue,message,routing_key=None):

        # 声明消息队列 ,消息将在这个队列传递
        self.channel.queue_declare(queue,durable=True)
        # 将信息指定推送的对应的 交换机-exchange,路由key-routing_key,推送消息-message
        self.channel.basic_publish(exchange=exchange,routing_key=routing_key,body=message)
        # 关闭连接
        self.channel.close()

ex:执行main方法调用

message = json.dumps({"fid":631452031,"marathonId":"408","memo":"","postRunId":1613780688,"runType":1,"runid":"104d8e619442132494cc96d7133ecc51","shareFeed":"false","trackId":175,"turnSpeed":"","uid":123538008,"uploadTime":1639757401000,"userShoeId":""})
    #发送业务mq
get_rabbitmq().producter(exchange="exchange.run",routing_key="run_add",queue="queue.run.exp.mission.add",message=message)

可以查看后端日志,看看消费是否收到
在这里插入图片描述

你可能感兴趣的:(接口自动化,rabbitmq,分布式)