47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
|
"""
|
|||
|
@Time : 2022/10/9 11:53
|
|||
|
@Auth : 东
|
|||
|
@File :RedisClient.py
|
|||
|
@IDE :PyCharm
|
|||
|
@Motto:ABC(Always Be Coding)
|
|||
|
@Desc:
|
|||
|
|
|||
|
"""
|
|||
|
# coding:utf-8
|
|||
|
|
|||
|
import time
|
|||
|
import redis
|
|||
|
def redisClient():
|
|||
|
rc = redis.StrictRedis(host="localhost", port="6379", db=0, password="sdust2020")
|
|||
|
ps = rc.pubsub()
|
|||
|
ps.subscribe("liao") # 订阅消息
|
|||
|
a = 0
|
|||
|
|
|||
|
for item in ps.listen(): # 监听状态:有消息发布了就拿过来
|
|||
|
print(item)
|
|||
|
data = item['data']
|
|||
|
if type(data) == bytes:
|
|||
|
data = item['data'].decode()
|
|||
|
print(data)
|
|||
|
if data == '300030 -1':
|
|||
|
ps.unsubscribe("liao")
|
|||
|
|
|||
|
print(1)
|
|||
|
|
|||
|
|
|||
|
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 del_listen(self):
|
|||
|
self.ps.unsubscribe(self.key)
|