[+] add api settings
This commit is contained in:
parent
afdc7c17b6
commit
814fefd18b
@ -3,6 +3,8 @@ import copy
|
|||||||
import uvicorn
|
import uvicorn
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
from .settings import Settings as APISettings
|
||||||
|
|
||||||
async def websocket_tickers(
|
async def websocket_tickers(
|
||||||
websocket: fastapi.WebSocket,
|
websocket: fastapi.WebSocket,
|
||||||
) -> None:
|
) -> None:
|
||||||
@ -23,8 +25,8 @@ def run(args: list[str]):
|
|||||||
|
|
||||||
uvicorn.run(
|
uvicorn.run(
|
||||||
create_app(),
|
create_app(),
|
||||||
host='0.0.0.0',
|
host=APISettings.singleton().uvicorn_host,
|
||||||
port=80,
|
port=APISettings.singleton().uvicorn_port,
|
||||||
loop='uvloop',
|
loop='uvloop',
|
||||||
log_config=log_config,
|
log_config=log_config,
|
||||||
)
|
)
|
||||||
|
18
deps/test-task-2025-06-30-v1/python/online/fxreader/pr34/test_task_2025_06_30_v1/async_api/settings.py
vendored
Normal file
18
deps/test-task-2025-06-30-v1/python/online/fxreader/pr34/test_task_2025_06_30_v1/async_api/settings.py
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import pydantic
|
||||||
|
import pydantic_settings
|
||||||
|
|
||||||
|
from typing import (ClassVar, Optional,)
|
||||||
|
|
||||||
|
|
||||||
|
class Settings(pydantic_settings.BaseSettings):
|
||||||
|
uvicorn_port : int = 80
|
||||||
|
uvicorn_host : str = '127.0.0.1'
|
||||||
|
|
||||||
|
_singleton : ClassVar[Optional['Settings']] = None
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def singleton(cls) -> 'Settings':
|
||||||
|
if cls._singleton is None:
|
||||||
|
cls._singleton = Settings.model_validate({})
|
||||||
|
|
||||||
|
return cls._singleton
|
Loading…
Reference in New Issue
Block a user