From 2f2516749615da866e96d8d24e499b7ecbb63a3e Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期一, 23 六月 2025 12:28:52 +0800 Subject: [PATCH] 默认交易模式变更/真实下单位置计算位置修改 --- log_module/async_log_util.py | 91 +++++++++++++++++++++++---------------------- 1 files changed, 47 insertions(+), 44 deletions(-) diff --git a/log_module/async_log_util.py b/log_module/async_log_util.py index 87ff5b0..cac3f10 100644 --- a/log_module/async_log_util.py +++ b/log_module/async_log_util.py @@ -1,7 +1,9 @@ """ 寮傛鏃ュ織绠$悊鍣� """ +import logging import queue +import threading import time from log_module.log import logger_debug, logger_system @@ -9,10 +11,21 @@ class AsyncLogManager: - __log_queue = queue.Queue() + + def __init__(self): + self.__log_queue = queue.Queue(maxsize=10240) def __add_log(self, logger, method, *args): - self.__log_queue.put_nowait((logger, time.time(), method, args)) + try: + self.__log_queue.put_nowait((logger, time.time(), method, args)) + except Exception: + pass + + def add_log(self, data): + try: + self.__log_queue.put_nowait(data) + except Exception: + pass def debug(self, logger, *args): self.__add_log(logger, "debug", *args) @@ -29,79 +42,69 @@ def exception(self, logger, *args): self.__add_log(logger, "exception", *args) + def get_queue_size(self): + """ + 鑾峰彇闃熷垪澶у皬 + @return: + """ + self.__log_queue.qsize() + # 杩愯鍚屾鏃ュ織 - def run_sync(self): + def run_sync(self, add_to_common_log=False): + # print("run_sync", add_to_common_log) logger_system.info(f"run_sync 绾跨▼ID:{tool.get_thread_id()}") while True: try: val = self.__log_queue.get() - time_s = val[1] - cmd = val[2] - method = getattr(val[0], cmd) - d = list(val[3]) - d[0] = f"[{tool.to_time_str(int(time_s))}.{str(time_s).split('.')[1][:6]}] " + d[0] - d = tuple(d) - method(*d) - except: - pass + if not add_to_common_log: + time_s = val[1] + cmd = val[2] + method = getattr(val[0], cmd) + d = list(val[3]) + d[0] = f"[{tool.to_time_str(int(time_s))}.{str(time_s).split('.')[1][:6]}] " + d[0] + d = tuple(d) + method(*d) + else: + _common_log.add_log(val) + except Exception as e: + logging.exception(e) l2_data_log = AsyncLogManager() huaxin_l2_log = AsyncLogManager() -log_queue = queue.Queue() - - -def __add_log(logger, time_out_log, method, *args): - start_time = time.time() - log_queue.put_nowait((logger, start_time, method, args)) - if time_out_log: - end_time = time.time() - sub_time = end_time - start_time - if sub_time > 0.01: - # 璁板綍鏃ュ織淇濆瓨鎱㈢殑鏃ュ織 - __add_log(logger_debug, False, f"淇濆瓨鍒版棩蹇楅槦鍒楃敤鏃讹細{sub_time}s") +_common_log = AsyncLogManager() def debug(logger, *args): - __add_log(logger, True, "debug", *args) + _common_log.debug(logger, *args) def info(logger, *args): - __add_log(logger, True, "info", *args) + _common_log.info(logger, *args) def warning(logger, *args): - __add_log(logger, True, "warning", *args) + _common_log.warning(logger, *args) def error(logger, *args): - __add_log(logger, True, "error", *args) + _common_log.error(logger, *args) def exception(logger, *args): - __add_log(logger, True, "exception", *args) + _common_log.exception(logger, *args) # 杩愯鍚屾鏃ュ織 def run_sync(): logger_system.info(f"async_log 绾跨▼ID:{tool.get_thread_id()}") - while True: - try: - val = log_queue.get() - time_s = val[1] - cmd = val[2] - method = getattr(val[0], cmd) - d = list(val[3]) - d[0] = f"[{tool.to_time_str(int(time_s))}.{str(time_s).split('.')[1][:3]}] " + d[0] - d = tuple(d) - method(*d) - except: - pass + _common_log.run_sync() if __name__ == "__main__": - # info(logger_debug, "*-{}", "test") - info(logger_debug, "002375") - run_sync() + _queue = queue.Queue(maxsize=102400) + for i in range(200): + _queue.put_nowait("1") + -- Gitblit v1.8.0