403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.141.38.5
Web Server : LiteSpeed
System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : jenniferflocom ( 1321)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python37/lib64/python3.7/site-packages/aiohttp/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python37/lib64/python3.7/site-packages/aiohttp/__pycache__/worker.cpython-37.pyc
B

�k�aK"�@sdZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
mZmZm
Z
ddlmZddlmZddlmZdd	lmZdd
lmZddlmZyddlZejZWnek
r�dZeZYnXdZGd
d�dej �Z!Gdd�de!�Z"Gdd�de!�Z#dS)z%Async gunicorn worker for aiohttp.web�N)�	FrameType)�Any�	Awaitable�Callable�Optional�Union)�AccessLogFormat)�base)�web�)�
set_result)�Application)�AccessLogger)�GunicornWebWorker�GunicornUVLoopWebWorker�GunicornTokioWebWorkercs�eZdZejZejZe	e	dd��fdd�Z
dd��fdd�Zdd�dd	�Zdd�d
d�Z
dd�d
d�Zd eddd�dd�Zdd�dd�Zeedd�dd�Zeedd�dd�Zee	dd�dd��Zeed�dd�Z�ZS)!rN)�args�kw�returncs$t�j||�d|_d|_d|_dS)Nr)�super�__init__�_task�	exit_code�_notify_waiter)�selfrr)�	__class__��A/opt/alt/python37/lib64/python3.7/site-packages/aiohttp/worker.pyr%szGunicornWebWorker.__init__)rcs0t����t��|_t�|j�t���dS)N)�asyncio�get_event_loop�closeZnew_event_loop�loopZset_event_loopr�init_process)r)rrrr",s
zGunicornWebWorker.init_processcCsr|j�|���|_y|j�|j�Wn tk
rD|j�d�YnX|j�|j���|j�	�t
�|j�dS)NzException in gunicorn worker)
r!Zcreate_task�_runrZrun_until_complete�	Exception�log�	exceptionZshutdown_asyncgensr �sys�exitr)rrrr�run5s
zGunicornWebWorker.runc�s�d}t|jt�r|j}nHt�|j�rP|��IdH}t|tj�rJ|}|j}q`|}ntd�	|j���|dkr�|j
jrx|jj
nd}tj||j|j
j||�|j
j�d�}|��IdH|j
jr�|�|j
�nd}|}|dk	s�t�|j}|dk	s�t�x:|jD]0}tj||||j
jddd�}|��IdHq�Wt��}	y�x�|j�r�|��|j}
|j
j�rt|
|j
jk�rtd|_|j� d|�nB|	t��k�r�|j!t�"�k�r�d|_|j� d|�n|�#�IdH�q0WWnt$k
�r�YnX|�%�IdHdS)	NzUwsgi app should be either Application or async function returning Application, got {})�loggerZkeepalive_timeout�
access_log�access_log_format�d�_)Zssl_contextZshutdown_timeoutFzMax requests, shutting down: %sz!Parent changed, shutting down: %s)&�
isinstance�wsgir
r�iscoroutinefunctionr
Z	AppRunner�app�RuntimeError�format�cfgZ	accesslogr%r+Z	keepalive�_get_valid_log_formatr,�setupZis_ssl�_create_ssl_context�AssertionError�serverZsocketsZSockSiteZgraceful_timeout�start�os�getpid�alive�notifyZrequests_countZmax_requests�infoZppid�getppid�_wait_next_notify�
BaseException�cleanup)rZrunnerr2r0r+�ctxr:�sock�site�pidZcntrrrr#Asb

zGunicornWebWorker._runzasyncio.Future[bool]cCs>|��|j}|dk	st�|��|_}|j�d|j|�|S)Ng�?)�_notify_waiter_doner!r9Z
create_futurerZ
call_later)rr!�waiterrrrrB�sz#GunicornWebWorker._wait_next_notify)rJrcCs4|dkr|j}|dk	r t|d�||jkr0d|_dS)NT)rr)rrJrrrrI�s

z%GunicornWebWorker._notify_waiter_donecCs�|j�tj|jtjd�|j�tj|jtjd�|j�tj|jtjd�|j�tj|j	tjd�|j�tj
|jtj
d�|j�tj|j
tjd�t�tjd�t�tj
d�tjdkr�t�tjtj�dS)NF)��)r!Zadd_signal_handler�signal�SIGQUIT�handle_quit�SIGTERMZhandle_exit�SIGINT�SIGWINCHZhandle_winch�SIGUSR1Zhandle_usr1�SIGABRT�handle_abort�siginterruptr'�version_info�SIGCHLD�SIG_DFL)rrrr�init_signals�s 
zGunicornWebWorker.init_signals)�sig�framercCsd|_|j�|�|��dS)NF)r>r5Z
worker_intrI)rr[r\rrrrO�szGunicornWebWorker.handle_quitcCs&d|_d|_|j�|�t�d�dS)NFr)r>rr5Zworker_abortr'r()rr[r\rrrrU�szGunicornWebWorker.handle_abort�
SSLContext)r5rcCs\tdkrtd��t�|j�}|�|j|j�|j|_|j	rF|�
|j	�|jrX|�|j�|S)z~Creates SSLContext instance for usage in asyncio.create_server.

        See ssl.SSLSocket.__init__ for more details.
        NzSSL is not supported.)
�sslr3r]Zssl_versionZload_cert_chainZcertfileZkeyfileZ	cert_reqsZverify_modeZca_certsZload_verify_locationsZciphersZset_ciphers)r5rErrrr8�sz%GunicornWebWorker._create_ssl_context)�
source_formatrcCs.||jkr|jSt�d|�r&td��n|SdS)Nz%\([^\)]+\)z�Gunicorn'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_FORMAT�DEFAULT_AIOHTTP_LOG_FORMAT�re�search�
ValueError)rr_rrrr6�s
z'GunicornWebWorker._get_valid_log_format)N)�__name__�
__module__�__qualname__rZ
LOG_FORMATra�GunicornAccessLogFormat�defaultr`rrr"r)r#rBrrIrZ�intrrOrU�staticmethodr8�strr6�
__classcell__rr)rrr s	B	(	rcs"eZdZdd��fdd�Z�ZS)rN)rcs0ddl}t����t�|���t���dS)Nr)�uvlooprrr �set_event_loop_policy�EventLoopPolicyrr")rrn)rrrr"�sz$GunicornUVLoopWebWorker.init_process)rerfrgr"rmrr)rrr�srcs"eZdZdd��fdd�Z�ZS)rN)rcs0ddl}t����t�|���t���dS)Nr)�tokiorrr rorprr")rrq)rrrr"sz#GunicornTokioWebWorker.init_process)rerfrgr"rmrr)rrrsr)$�__doc__rr<rbrMr'�typesr�typingrrrrrZgunicorn.configrrhZgunicorn.workersr	Zaiohttpr
ZhelpersrZweb_appr
Zweb_logrr^r]�ImportError�object�__all__ZWorkerrrrrrrr�<module>s0

Q

Youez - 2016 - github.com/yon3zu
LinuXploit