bg dZddlZddlZddlZddlZddlZddlmZddlm Z m Z m Z m Z m Z ddlmZddlmZddlmZdd lmZdd lmZdd lmZ ddlZejZn#e$rdZeZYnwxYwd ZGd dej Z!Gdde!Z"dS)z%Async gunicorn worker for aiohttp.webN) FrameType)Any AwaitableCallableOptionalUnion)AccessLogFormat)base)web) set_result) Application) AccessLogger)GunicornWebWorkerGunicornUVLoopWebWorkerceZdZejZejZde de ddffd Z dfd Z ddZ ddZ dd Z dd ed ddfd Zdd ZdedeeddfdZdedeeddfdZede ddfdZdedefdZxZS)rargskwreturnNcdtj|i|d|_d|_d|_dSNr)super__init___task exit_code_notify_waiter)selfrr __class__s a/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/aiohttp/worker.pyrzGunicornWebWorker.__init__%s;$%"%%%37 >Bctjtj|_tj|jt dSN)asyncioget_event_loopclosenew_event_looploopset_event_loopr init_process)rrs rr)zGunicornWebWorker.init_process,s]  &&(((*,, ty))) r c|j||_ |j|jn*#t $r|jdYnwxYw|j|j|j tj |j dS)NzException in gunicorn worker) r' create_task_runrrun_until_complete Exceptionlog exceptionshutdown_asyncgensr%sysexitrrs rrunzGunicornWebWorker.run5sY**499;;77  ? I ( ( 4 4 4 4 ? ? ? H  = > > > > > ? $$TY%A%A%C%CDDD       sA$A:9A:c nKd}t|jtr|j}ntj|jrA|d{V}t|t jr |}|j}n*|}n'td |j|p|j j r |j j nd}t j||j |j j|||j j|j jdz dz}|d{V|j jr||j nd}|}|J|j}|J|jD]3}t j|||}|d{V4t3j} |jr||j} |jr.| |jkr#d|_|j d|np| t3jkr?|j t3j!kr#d|_|j d|n|"d{V|jn#tF$rYnwxYw|$d{VdS) NzUwsgi app should be either Application or async function returning Application, got {}d_)loggerkeepalive_timeout access_logaccess_log_formatshutdown_timeout) ssl_contextFzMax requests, shutting down: %sz!Parent changed, shutting down: %s)% isinstancewsgirr#iscoroutinefunctionr AppRunnerapp RuntimeErrorformatcfg accesslogr/r; keepalive_get_valid_log_formatr<graceful_timeoutsetupis_ssl_create_ssl_contextserversocketsSockSitestartosgetpidalivenotifyrequests_count max_requestsinfoppidgetppid_wait_next_notify BaseExceptioncleanup) rrunnerrCr@r;ctxrNsocksitepidcnts rr,zGunicornWebWorker._runAs  di - - )CC  ( 3 3 $$$$$$D$ .. j??Evdi?P?P  >040BL,,J]x"&("4%"&"<"<H.##"&!:S!@2!E   Fllnn48HOMd&&tx000!!!!!!L  D<D **,,        ikk * 3 +$3t/@)@)@!&DJHMM"CTJJJJBIKK''DI,E,E!&DJHMM"EtLLLL00222222222* 3    D nns(F   vt $ $ $ T( ( ("&D    ) (r c |jtj|jtjd|jtj|jtjd|jtj|jtjd|jtj|j tjd|jtj |j tj d|jtj |j tj dtjtjdtjtj ddSNF)r'add_signal_handlersignalSIGQUIT handle_quitSIGTERM handle_exitSIGINTSIGWINCH handle_winchSIGUSR1 handle_usr1SIGABRT handle_abort siginterruptr4s r init_signalszGunicornWebWorker.init_signalss< $$ ND,fnd    $$ ND,fnd    $$ M4+V]D    $$ OT.    $$ ND,fnd    $$ ND-v~t   FNE222FNE22222r sigframecpd|_|j||dSrl)rTrF worker_intrfrr|r}s rrpzGunicornWebWorker.handle_quits;  D!!!   """""r c~d|_d|_|j|t jddS)NFr )rTrrF worker_abortr2r3rs rryzGunicornWebWorker.handle_aborts7  d###  r rF SSLContextc@ttdtj|j}||j|j|j|_|j r| |j |j r| |j |S)z~Creates SSLContext instance for usage in asyncio.create_server. See ssl.SSLSocket.__init__ for more details. NzSSL is not supported.) sslrDr ssl_versionload_cert_chaincertfilekeyfile cert_reqs verify_modeca_certsload_verify_locationsciphers set_ciphers)rFr_s rrMz%GunicornWebWorker._create_ssl_contexts ;677 7nS_-- CL#+666- < 4  % %cl 3 3 3 ; ) OOCK ( ( ( r source_formatcr||jkr|jStjd|rt d|S)Nz %\([^\)]+\)zGunicorn's style options in form of `%(name)s` are not supported for the log formatting. Please use aiohttp's format specification to configure access log formatting: http://docs.aiohttp.org/en/stable/logging.html#format-specification)DEFAULT_GUNICORN_LOG_FORMATDEFAULT_AIOHTTP_LOG_FORMATresearch ValueError)rrs rrIz'GunicornWebWorker._get_valid_log_formatsL D< < <2 2 Y~} 5 5 !( ! r rN)rrdr")__name__ __module__ __qualname__r LOG_FORMATrGunicornAccessLogFormatdefaultrrrr)r5r,r[rrfr{intrrpry staticmethodrMstrrI __classcell__rs@rrr s!-!8"9"ACcCCCCCCCC ! ! ! !@@@@D:> ' '56 '  ' ' ' '3333D#s#8I+>#4####HY,?D \" !3 !3 ! ! ! ! ! ! ! !r rc eZdZdfd ZxZS)rrNcddl}tjtj|t dSr)uvloopr#r$r%set_event_loop_policyEventLoopPolicyrr))rrrs rr)z$GunicornUVLoopWebWorker.init_processsd    &&((( %f&<&<&>&>??? r r)rrrr)rrs@rrrs=          r r)#__doc__r#rRrrnr2typesrtypingrrrrrgunicorn.configr rgunicorn.workersr aiohttpr helpersr web_apprweb_logrrr ImportErrorobject__all__Workerrrr rrs++ <<<<<<<<<<<<<<FFFFFF!!!!!! !!!!!!JJJJJ CJJJ ;G!G!G!G!G! G!G!G!T     /     s A A('A(