Commit 2cdcefe7 by Oleksandr Barabash

gracial quitter added

parent 8b40c213
...@@ -6,12 +6,11 @@ import os ...@@ -6,12 +6,11 @@ import os
import signal import signal
import sys import sys
from asyncio import AbstractEventLoop from asyncio import AbstractEventLoop
from concurrent.futures import ThreadPoolExecutor from threading import Thread
from typing import Any, Optional from typing import Any, Optional
from absl import app, flags from absl import app, flags
from marshmallow import EXCLUDE from marshmallow import EXCLUDE
from openpyxl import Workbook
from utils.ether_service.entities.data.kr_packet import KrPacketV2 from utils.ether_service.entities.data.kr_packet import KrPacketV2
from utils.ether_service.utils.json_func import json_loads from utils.ether_service.utils.json_func import json_loads
...@@ -48,6 +47,7 @@ class CSVLogger(PacketLogger): ...@@ -48,6 +47,7 @@ class CSVLogger(PacketLogger):
def __init__(self, file_path: Optional[str] = None): def __init__(self, file_path: Optional[str] = None):
self.file_path = file_path self.file_path = file_path
self.file = None self.file = None
self.records = 0
if file_path is not None: if file_path is not None:
self.file_path = file_path self.file_path = file_path
...@@ -71,14 +71,12 @@ class CSVLogger(PacketLogger): ...@@ -71,14 +71,12 @@ class CSVLogger(PacketLogger):
def write(self, data: str) -> None: def write(self, data: str) -> None:
""" Try write """ """ Try write """
if self.file is None: if self.file is None:
return
while True:
try:
self.file.write(data)
return
except Exception:
self.file = open(self.file_path, "a+") self.file = open(self.file_path, "a+")
self.file.write(data)
self.records += 1
if self.records % 50 == 0:
self.file.flush()
def log(self, kr_packet: KrPacketV2) -> None: def log(self, kr_packet: KrPacketV2) -> None:
""" Log packet """ """ Log packet """
...@@ -187,7 +185,15 @@ def main(_argv) -> int: ...@@ -187,7 +185,15 @@ def main(_argv) -> int:
io_loop)) io_loop))
signal.signal(signal.SIGTERM, stop_server(ws_client, packet_logger, signal.signal(signal.SIGTERM, stop_server(ws_client, packet_logger,
io_loop)) io_loop))
io_loop.run_forever() thread = Thread(target=io_loop.run_forever)
thread.start()
while True:
data = input()
print(repr(data))
if data.strip().lower() == "q":
stop_server(ws_client, packet_logger, io_loop)(None, None)
thread.join()
break
return 0 return 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment