websocket 客户端断开连接后,消费者实例会发生什么?是否对实例进行了任何特定的清理,或者只是定期收集垃圾?
是否可以重新连接到通道消费者实例以恢复该实例的状态?
websocket 客户端断开连接后,消费者实例会发生什么?是否对实例进行了任何特定的清理,或者只是常规的垃圾收集?
def disconnect(self, code):
对于 websocket,消费者应该在连接关闭时被调用。但是,如果出现异常或连接超时,则不会被调用。
如果你想有更大的机会拦截这个函数,你可以改写 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
是否可以重新连接到一个通道消费者实例来恢复该实例的状态?
如果你想在它们之间共享状态,你可以考虑使用。