Незначительные правки
This commit is contained in:
@@ -1 +1 @@
|
|||||||
from config_manager.config_manager import ConfigManager
|
from config_manager import ConfigManager
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# === Раздел с общими конфигурационными параметрами ===
|
# === Раздел с общими конфигурационными параметрами ===
|
||||||
runtime: 5
|
param: 5
|
||||||
|
|
||||||
# === Логирование ===
|
# === Логирование ===
|
||||||
log:
|
log:
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import logging.config
|
|||||||
from typing import Any, Optional
|
from typing import Any, Optional
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@@ -31,9 +30,9 @@ class ConfigManager:
|
|||||||
async def _read_file_async(self) -> str:
|
async def _read_file_async(self) -> str:
|
||||||
return await asyncio.to_thread(self._read_file_sync)
|
return await asyncio.to_thread(self._read_file_sync)
|
||||||
|
|
||||||
def _parse_config(self, str) -> Any:
|
def _parse_config(self, data) -> Any:
|
||||||
ext = os.path.splitext(self.path)[1].lower()
|
extension = os.path.splitext(self.path)[1].lower()
|
||||||
if ext in (".yaml", ".yml"):
|
if extension in (".yaml", ".yml"):
|
||||||
return yaml.safe_load(data)
|
return yaml.safe_load(data)
|
||||||
else:
|
else:
|
||||||
return json.loads(data)
|
return json.loads(data)
|
||||||
@@ -145,25 +144,3 @@ class ConfigManager:
|
|||||||
|
|
||||||
self._task = None
|
self._task = None
|
||||||
logger.info("ConfigManager stopped successfully")
|
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())
|
|
||||||
@@ -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
|
|
||||||
26
src/main_example.py
Normal file
26
src/main_example.py
Normal file
@@ -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())
|
||||||
Reference in New Issue
Block a user