在Websocket客户端断开连接后,消费者实例会如何处理?是否对实例进行了特定的清理,或者只是常规的垃圾回收?
是否可以重新连接到渠道使用者实例以恢复该实例的状态?
答案 0 :(得分:0)
对于Websocket使用者,在Websocket客户端断开连接后,消费者实例会如何处理?是否对实例进行了特定的清理,或者只是常规的垃圾回收?
def disconnect(self, code):
应该在连接关闭的情况下调用。但是,如果您遇到异常或连接超时,则不会调用此方法。
如果您希望有更大的机会来拦截它,则可以覆盖async def __call__
方法并将await super().__call__(...)
包装在try catch中以捕获任何异常并对其进行处理。
async def __call__(*args, **kwargs):
try:
await super().__call__(*args, **kwargs)
finally:
# do some very fast cleanup here
是否可以重新连接到渠道使用者实例以恢复该实例的状态?
没有每个联系都能获得新的证明。如果要在他们之间共享状态,可以考虑使用: