This commit is contained in:
Григорич 2023-06-05 14:33:08 +03:00
parent 980eea316b
commit 3cc6a3a39a

33
main.py Normal file
View File

@ -0,0 +1,33 @@
import logging
import asyncio
from environs import load_dotenv
from extractor import ApiExtractor
from loader import EtlLoader
from settings import ApiConfig
from state import JsonFileStorage, State
load_dotenv()
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(funcName)s - %(message)s')
async def main():
extractor = ApiExtractor()
storage = JsonFileStorage()
api = ApiConfig()
state = State(storage=storage)
loader = EtlLoader()
logging.info('Обработчик готов к работе.')
while True:
for iblock_id in api.iblocks:
abitrs = await extractor.get_extract_data(iblock_id=int(iblock_id), state=state)
for abitr in abitrs:
await loader.load_data(state=state, abitr=abitr, storage=storage, iblock_id=int(iblock_id))
asyncio.sleep(10)
if __name__ == '__main__':
asyncio.run(main())