【python-redis實現簡單的隊列pub/sub】


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM