mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-06 18:00:57 +00:00
fix: 消息订阅redis连接未关闭
This commit is contained in:
@@ -23,6 +23,7 @@ class RedisPubSub:
|
||||
def __init__(self, ch, db=10):
|
||||
self.ch = ch
|
||||
self.redis = get_redis_client(db)
|
||||
self.subscriber = None
|
||||
|
||||
def subscribe(self):
|
||||
ps = self.redis.pubsub()
|
||||
@@ -41,7 +42,9 @@ class RedisPubSub:
|
||||
:param handle: lambda item: do_something
|
||||
:return:
|
||||
"""
|
||||
self.close_handle_msg()
|
||||
sub = self.subscribe()
|
||||
self.subscriber = sub
|
||||
msgs = sub.listen()
|
||||
|
||||
try:
|
||||
@@ -65,3 +68,8 @@ class RedisPubSub:
|
||||
except Exception as e:
|
||||
logger.error("Redis observer close error: ", e)
|
||||
|
||||
def close_handle_msg(self):
|
||||
if self.subscriber:
|
||||
self.subscriber.close()
|
||||
self.subscriber = None
|
||||
|
||||
|
Reference in New Issue
Block a user