diff --git a/deps/test-task-2025-06-30-v1/python/online/fxreader/pr34/test_task_2025_06_30_v1/async_api/app.py b/deps/test-task-2025-06-30-v1/python/online/fxreader/pr34/test_task_2025_06_30_v1/async_api/app.py new file mode 100644 index 0000000..fd49dbe --- /dev/null +++ b/deps/test-task-2025-06-30-v1/python/online/fxreader/pr34/test_task_2025_06_30_v1/async_api/app.py @@ -0,0 +1,27 @@ +import asyncio +import os +from ..tickers_retrieval.emcont import Emcont +from ..tickers.models import Ticker +import sqlalchemy.ext.asyncio + +from typing import Any + +async def run() -> None: + engine = sqlalchemy.ext.asyncio.create_async_engine( + os.environ['DB_URL'] + ) + async_session = sqlalchemy.ext.asyncio.async_sessionmaker( + engine + ) + + async def store_cb(rates: Any, timestamp: Any, session: Any) -> None: + print(rates, timestamp.isoformat()) + + await Emcont.worker( + only_symbols={'EURUSD', 'USDJPY', 'GBPUSD', 'AUDUSD', 'USDCAD'}, + session=async_session, + store_cb=store_cb + ) + +if __name__ == '__main__': + asyncio.run(run())