【python-redis实现简单的队列pub/sub】

时间:2020-10-20 21:23:10   收藏:0   阅读:24

需求:本次项目需求是自己用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)
# ######

 

原文:https://www.cnblogs.com/gokublog/p/13847809.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!