output析构方法更新,退出逻辑补充

This commit is contained in:
Jerry Yan 2022-06-12 09:47:18 +08:00
parent e2f582204a
commit ee45407f0e
2 changed files with 8 additions and 5 deletions

View File

@ -23,4 +23,7 @@ if __name__ == '__main__':
signal.signal(signal.SIGTERM, terminate) signal.signal(signal.SIGTERM, terminate)
signal.signal(signal.SIGINT, terminate) signal.signal(signal.SIGINT, terminate)
output_manager.start_loop() output_manager.start_loop()
try:
proxy_manager.join() proxy_manager.join()
finally:
terminate()

View File

@ -3,19 +3,19 @@ import threading
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
from config.helper import config from config.helper import config
from messages.fansclub import FansclubMessage
from proxy.queues import MESSAGE_QUEUE
from messages.chat import ChatMessage from messages.chat import ChatMessage
from messages.control import ControlMessage from messages.control import ControlMessage
from messages.fansclub import FansclubMessage
from messages.gift import GiftMessage from messages.gift import GiftMessage
from messages.like import LikeMessage from messages.like import LikeMessage
from messages.member import MemberMessage from messages.member import MemberMessage
from messages.roomuserseq import RoomUserSeqMessage from messages.roomuserseq import RoomUserSeqMessage
from messages.social import SocialMessage from messages.social import SocialMessage
from output.debug import DebugWriter
from output.print import Print from output.print import Print
from output.xml import XMLWriter from output.xml import XMLWriter
from output.debug import DebugWriter
from protobuf import message_pb2, wss_pb2 from protobuf import message_pb2, wss_pb2
from proxy.queues import MESSAGE_QUEUE
if TYPE_CHECKING: if TYPE_CHECKING:
from typing import Type, Optional, List from typing import Type, Optional, List
@ -122,7 +122,7 @@ class OutputManager():
self.decode_payload(message) self.decode_payload(message)
def terminate(self): def terminate(self):
if self._should_exit: if not self._should_exit.is_set():
self._should_exit.set() self._should_exit.set()
MESSAGE_QUEUE.put(None) MESSAGE_QUEUE.put(None)