需求:本次项目需求是自己用flask设计一个api,接受一些参数,然后使用队列动态将参数传给后台的worker,在此总结一下redis的pub# -*- coding: utf-8 -*-from flask import Flask
from flask import request, jsonify from redis import Redis app = Flask(__name__) @app.route("/v1/enc-aab", methods=["POST"]) def first_post(): """函数主体""" data = request.get_json() path = data.get('path') name = data.get('name') res = {'path': path, 'name': name} print(res) # 业务处理 if not all([path, name]): return jsonify(msg='参数不完整') else: # 数据完整 开始pub rc = Redis(host='127.0.0.1', port=6379, db=0) rc.pubsub() rc.publish('res', res)
return jsonify(status='ok') if __name__ == '__main__': app.run()
到此为止就在接口中拿到了传递的data并pub进了queue
pub的总结如下:
# ##### rc = Redis(host='127.0.0.1', port=6379, db=0) rc.pubsub() rc.publish('res', res) # #####
sub的应用如下:
# ###### rc = Redis(host='127.0.0.1', port=6379, db=0) ps = rc.pubsub() ps.subscribe(['res']) for item in ps.listen(): print(item) # ######