From 4eb9327628f9b7018388dfef7d84fff761115bbd Mon Sep 17 00:00:00 2001 From: zosimovaa Date: Thu, 30 Oct 2025 13:00:53 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B5=D0=B7=D0=BD=D0=B0=D1=87=D0=B8?= =?UTF-8?q?=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/__init__.py | 2 +- src/config.yaml | 2 +- src/{config_manager => }/config_manager.py | 29 +----- src/config_test.yaml | 100 --------------------- src/main_example.py | 26 ++++++ 5 files changed, 31 insertions(+), 128 deletions(-) rename src/{config_manager => }/config_manager.py (88%) delete mode 100644 src/config_test.yaml create mode 100644 src/main_example.py diff --git a/src/__init__.py b/src/__init__.py index 4a1ad57..f3d32da 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -1 +1 @@ -from config_manager.config_manager import ConfigManager +from config_manager import ConfigManager diff --git a/src/config.yaml b/src/config.yaml index 1cb8ce5..882eae8 100644 --- a/src/config.yaml +++ b/src/config.yaml @@ -1,5 +1,5 @@ # === Раздел с общими конфигурационными параметрами === -runtime: 5 +param: 5 # === Логирование === log: diff --git a/src/config_manager/config_manager.py b/src/config_manager.py similarity index 88% rename from src/config_manager/config_manager.py rename to src/config_manager.py index 9749d12..8337209 100644 --- a/src/config_manager/config_manager.py +++ b/src/config_manager.py @@ -6,7 +6,6 @@ import logging.config from typing import Any, Optional import os - logger = logging.getLogger(__name__) @@ -31,9 +30,9 @@ class ConfigManager: async def _read_file_async(self) -> str: return await asyncio.to_thread(self._read_file_sync) - def _parse_config(self, str) -> Any: - ext = os.path.splitext(self.path)[1].lower() - if ext in (".yaml", ".yml"): + def _parse_config(self, data) -> Any: + extension = os.path.splitext(self.path)[1].lower() + if extension in (".yaml", ".yml"): return yaml.safe_load(data) else: return json.loads(data) @@ -145,25 +144,3 @@ class ConfigManager: self._task = None logger.info("ConfigManager stopped successfully") - - -# Пример наследования и переопределения execute -class MyApp(ConfigManager): - def execute(self) -> None: - logger.info("Executing blocking work with config: %s", self.config) - - -async def main(): - app = MyApp("config.yaml") - app.start() - await asyncio.sleep(20) - await app.stop() - logger.info("Work finished.") - - -if __name__ == "__main__": - logging.basicConfig( - level=logging.INFO, - format="%(asctime)s [%(levelname)s] %(name)s: %(message)s" - ) - asyncio.run(main()) diff --git a/src/config_test.yaml b/src/config_test.yaml deleted file mode 100644 index a47060e..0000000 --- a/src/config_test.yaml +++ /dev/null @@ -1,100 +0,0 @@ -# === Раздел с общими конфигурационными параметрами === -runtime: - symbols: ["BTC_USDT", "ETH_USDT", "USDD_USDT", "TRX_USDT", "BTT_USDT", "NFT_USDT", "XRP_USDT", - "ETH_BTC", "XRP_BTC", "TRX_BTC", "LTC_BTC", "EOS_BTC", "XMR_BTC", "DOGE_BTC", - "NFT_TRX", "ETH_TRX", "JST_TRX", "XRP_TRX", - "ETHBULL_USDT", "BULL_USDT", "BEAR_USDT", "ADABULL_USDT"] - - updateTimeout: 45 - errorTimeout: 10 - -orderbook: - levels: [ 0.0, 0.2, 0.4, 0.6, 0.8, - 1.0, 1.2, 1.4, 1.6, 1.8, - 2.0, 2.2, 2.4, 2.6, 2.8, - 3.0, 3.3, 3.6, 3.9, - 4.2, 4.5, 4.8, - 5.1, 5.4, 5.7, 100 ] - -trades: - depth: 300 - -# === Database params === -db: - #host: 185.117.118.107 - host: 92.53.127.143 - port: 59000 - database: rt5_dev - - -# === Логирование === -log: - version: 1 - disable_existing_loggers: False - - formatters: - standard: - format: '%(asctime)s %(name)30s [%(levelname)8s]: %(message)s' - telegram: - format: '%(message)s' - - handlers: - console: - level: DEBUG - formatter: standard - class: logging.StreamHandler - stream: ext://sys.stdout # Default is stderr - - file: - level: DEBUG - formatter: standard - class: logging.handlers.RotatingFileHandler - filename: logs/log.log - mode: a - maxBytes: 500000 - backupCount: 15 - - telegram: - level: CRITICAL - formatter: telegram - class: logging_telegram_handler.TelegramHandler - chat_id: 211945135 - alias: "PDC" - - -# -- Логгеры -- - loggers: - '': - handlers: [console, file] - level: ERROR - propagate: False - - __main__: - handlers: [console, file, telegram] - level: WARNING - propagate: False - - basic_application: - handlers: [console, file, telegram] - level: INFO - - config_manager: - level: INFO - - log_manager: - level: INFO - - poloniex.public: - level: ERROR - - controllers.abstract: - level: ERROR - - controllers.trades: - level: ERROR - - controllers.orderbook: - level: ERROR - - clickhouse_connector.clickhouse_connector: - level: ERROR \ No newline at end of file diff --git a/src/main_example.py b/src/main_example.py new file mode 100644 index 0000000..ecbb329 --- /dev/null +++ b/src/main_example.py @@ -0,0 +1,26 @@ +import os +os.chdir(os.path.dirname(__file__)) + +import logging +import asyncio + +from config_manager.config_manager import ConfigManager +logger = logging.getLogger() + +# Пример наследования и переопределения execute +class MyApp(ConfigManager): + def execute(self) -> None: + logger.info("Executing blocking work with config: %s", self.config) + + +async def main(): + app = MyApp("config.yaml") + app.start() + await asyncio.sleep(20) + await app.stop() + logger.info("Work finished.") + + +if __name__ == "__main__": + + asyncio.run(main())