fix: org_mapping 保护订阅线程

pull/5940/head
xinwen 2021-04-12 17:16:30 +08:00 committed by 老广
parent f11d3c1cf2
commit a2e3979916
1 changed files with 13 additions and 6 deletions

View File

@ -46,12 +46,19 @@ def subscribe_orgs_mapping_expire(sender, **kwargs):
logger.debug("Start subscribe for expire orgs mapping from memory") logger.debug("Start subscribe for expire orgs mapping from memory")
def keep_subscribe(): def keep_subscribe():
subscribe = orgs_mapping_for_memory_pub_sub.subscribe() while True:
for message in subscribe.listen(): try:
if message['type'] != 'message': subscribe = orgs_mapping_for_memory_pub_sub.subscribe()
continue for message in subscribe.listen():
Organization.expire_orgs_mapping() if message['type'] != 'message':
logger.debug('Expire orgs mapping') continue
if message['data'] == b'error':
raise ValueError
Organization.expire_orgs_mapping()
logger.debug('Expire orgs mapping')
except Exception as e:
logger.exception(f'subscribe_orgs_mapping_expire: {e}')
Organization.expire_orgs_mapping()
t = threading.Thread(target=keep_subscribe) t = threading.Thread(target=keep_subscribe)
t.daemon = True t.daemon = True