|
|
|
@ -1,6 +1,5 @@
|
|
|
|
|
"""Модуль для конструирования и обработки запросов.""" |
|
|
|
|
import asyncio |
|
|
|
|
from typing import Dict, List, NewType |
|
|
|
|
|
|
|
|
|
import aiohttp |
|
|
|
|
from aiohttp import ClientResponse |
|
|
|
@ -9,6 +8,7 @@ from loguru import logger
|
|
|
|
|
|
|
|
|
|
from app_config import AppConfig |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class RequestBulder: |
|
|
|
|
"""Конструктор запросов. |
|
|
|
|
|
|
|
|
@ -22,9 +22,10 @@ class RequestBulder:
|
|
|
|
|
send_request(url: str, json_body: dict) |
|
|
|
|
Асинхронный метод для отправки запроса. Может принимать пустой json_body. |
|
|
|
|
""" |
|
|
|
|
|
|
|
|
|
def __init__(self, cfg: AppConfig) -> None: |
|
|
|
|
"""Инициализация. Объект сесси `aiohttp.ClientSession` |
|
|
|
|
создается здесь. """ |
|
|
|
|
создается здесь.""" |
|
|
|
|
self.cfg = cfg |
|
|
|
|
_conn = aiohttp.TCPConnector(limit=cfg.requests_count) |
|
|
|
|
self.session = aiohttp.ClientSession(connector=_conn) |
|
|
|
@ -75,7 +76,7 @@ class RequestBulder:
|
|
|
|
|
await asyncio.sleep(self.cfg.frequency_sec) |
|
|
|
|
except ServerDisconnectedError: |
|
|
|
|
logger.error(f"Сервер отклонил подключение {_url}") |
|
|
|
|
return dict() |
|
|
|
|
return {} |
|
|
|
|
|
|
|
|
|
async def wait(self) -> None: |
|
|
|
|
"""Ждет frequency_sec время.""" |
|
|
|
|