42 lines
941 B
Python
42 lines
941 B
Python
"""
|
||
@Time : 2022/10/9 17:50
|
||
@Auth : 东
|
||
@File :RedisMQTool.py
|
||
@IDE :PyCharm
|
||
@Motto:ABC(Always Be Coding)
|
||
@Desc:
|
||
|
||
"""
|
||
import json
|
||
|
||
import redis
|
||
|
||
|
||
class Task(object):
|
||
|
||
def __init__(self, redis_conn, channel):
|
||
self.rcon = redis_conn
|
||
self.ps = self.rcon.pubsub()
|
||
self.key = 'task:pubsub:%s' % channel
|
||
self.ps.subscribe(self.key)
|
||
|
||
def listen_task(self):
|
||
for i in self.ps.listen():
|
||
if i['type'] == 'message':
|
||
print("Task get ", i["data"])
|
||
|
||
def publish_task(self, data):
|
||
self.rcon.publish(self.key, json.dumps(data))
|
||
|
||
def del_listen(self):
|
||
self.ps.unsubscribe(self.key)
|
||
|
||
|
||
if __name__ == '__main__':
|
||
print("listen task channel")
|
||
|
||
pool = redis.ConnectionPool(host='127.0.0.1',
|
||
port=6379, db=5,)
|
||
|
||
redis_conn = redis.StrictRedis(connection_pool=pool)
|
||
Task(redis_conn, 'channel').listen_task() |