
    _h                     L   d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlZd dl	m
Z	 d dlmZ d dlmZ d dlZ e         edd	d
dd      Zej#                  edgddgdg       ej%                  e	d       g Zej)                  d      d        Zej)                  d      d        Zy)    N)FastAPI)CORSMiddleware)load_dotenv)router)parser_loop)ProxyManagerzHotline Parser APIu1   API для парсингу сайту Hotline.uaz1.0.0z/docsz/openapi.json)titledescriptionversiondocs_urlopenapi_url*T)allow_originsallow_credentialsallow_methodsallow_headersz/api)prefixstartupc                  6  K   t        j                  t        j                  d      t        j                  d      t        j                  d      t        j                  d      t	        t        j                  d            ddd	       d {   t
        _        t        t
        j                        } t        j                         }|j                  | j                               }|j                  t        |             }t        j                  ||g       y 7 w)
NDB_HOSTDB_USERDB_PASSWORDDB_NAMEDB_PORTT      )hostuserpassworddbport
autocommitminsizemaxsize)aiomysqlcreate_poolosgetenvintstatedb_poolr   asyncioget_event_loopcreate_taskrun_periodic_unbanr   background_tasksextend)proxy_managerlooptask1task2s       /var/www/html/main.pyr   r   &   s      #..YYy!YYy!=)99Y9%&	 	EM !/M !!#D]==?@E[78EUEN+#	s   B	DDBDshutdownc                  <  K   t         D ]  } | j                          	 |  d {     t        j
                  rEt        j
                  j                          t        j
                  j                          d {    y y 7 \# t        j                  $ r Y w xY w7 !w)N)r0   cancelr,   CancelledErrorr*   r+   closewait_closed)tasks    r6   r7   r7   <   s      ! 	JJ }}mm'')))  %% 		 	*sD   BBA?BAB8B9B?BBBBB)r,   r'   fastapir   fastapi.middleware.corsr   dotenvr   r*   apir   parserr   r2   r   r%   appadd_middlewareinclude_routerr0   on_eventr   r7        r6   <module>rI      s     	  2     &  
C   %%%     3v  &  i, ,* j* *rH   