fix: wechatmp's deadloop when reply is None from @JS00000 #789

This commit is contained in:
lanvent
2023-04-09 19:57:43 +08:00
parent f1e8344beb
commit fcfafb05f1
4 changed files with 37 additions and 21 deletions

View File

@@ -233,6 +233,9 @@ class ChatChannel(Channel):
time.sleep(3+3*retry_cnt)
self._send(reply, context, retry_cnt+1)
def _success_callback(self, session_id, **kwargs):# 线程正常结束时的回调函数
logger.debug("Worker return success, session_id = {}".format(session_id))
def _fail_callback(self, session_id, exception, **kwargs): # 线程异常结束时的回调函数
logger.exception("Worker return exception: {}".format(exception))
@@ -242,6 +245,8 @@ class ChatChannel(Channel):
worker_exception = worker.exception()
if worker_exception:
self._fail_callback(session_id, exception = worker_exception, **kwargs)
else:
self._success_callback(session_id, **kwargs)
except CancelledError as e:
logger.info("Worker cancelled, session_id = {}".format(session_id))
except Exception as e: