python对外提供接口将数据放入rabbitmq

2022/6/22 1:21:14

本文主要是介绍python对外提供接口将数据放入rabbitmq,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  注意:1)并发量不太大的时候这样使用可以,如果并发较大建议还是用java进行实现。

     2)此处建议使用python3

# coding:utf-8
import json
import pika
from flask import Flask, request

app = Flask(__name__)

MY_URL = '/knowledge/api/v1/'

def push_mess(param):
    connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
    channel = connection.channel()
    channel.basic_publish(exchange='',
                      routing_key='myquence',
                      body=param)
    print("[knowledge] Send "+param)
    connection.close()
resu = {"code": 200,"result":"success!"}
# get
@app.route(MY_URL + 'get/tasks', methods=['GET'])
def get_task():
    param = request.args.to_dict()
    # print(param)  # request.args请求参数
    # print(type(param))
    # print(param)
    push_mess(json.dumps(param,ensure_ascii=False))        
    return json.dumps(resu, ensure_ascii=False)


# post
@app.route(MY_URL + 'post/tasks', methods=['POST'])
def post_task():
    param = request.args.to_dict()
    # print(param)  # request.args请求参数
    # print(type(param)) 此处post仅支持一般使用方法
    # print(param)
    push_mess(json.dumps(param,ensure_ascii=False))
    return json.dumps(resu, ensure_ascii=False)

    #解决请求跨域问题    
def after_request(resp):
    resp.headers['Access-Control-Allow-Origin'] = '*'
    return resp

if __name__ == '__main__':
    app.after_request(after_request)
    app.run(debug=True, host='0.0.0.0', port=5000)
    # app.run(debug=True)  host 0.0.0.0设置是都可以进行访问,port为对应内网端口
# http://127.0.0.1:5000/knowledge/api/v1/get/tasks?keystr=服务器上架&topN=3

  注意导入相关类库,rabbitmq此处默认使用guest用户,密码也是初始状态。如果需要使用其他用户端口,可查看ConnectionParameters设置的相关参数介绍。mq队列相关设置建议先用ui界面设置好。

  后续采用ck订阅消费请查看:https://www.cnblogs.com/MrYang-11-GetKnow/p/16397055.html。



这篇关于python对外提供接口将数据放入rabbitmq的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程