Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
worker.cpython-313.pyc58 linesDownload Raw Back to __pycache__
1�

2��j�!��V�SrSSKrSSKrSSKrSSKrSSKrSSKrSSKJr SSK	J3r4JrJr SSK
Jr SSKJr SSKJr SS	KJr SS5KJr SSKJr \6(aSSKr\R6rOSSKr\R6rSr"S
S\R>5r "SS\ 5r!g!\a Sr\rN/f=f)z%Async gunicorn worker for aiohttp.web�N)�	FrameType)�
TYPE_CHECKING�Any�Optional)�AccessLogFormat)�base)�web�)�7set_result)�Application)�AccessLogger)�GunicornWebWorker�GunicornUVLoopWebWorkerc�$^�\rSrSr\R8r\Rr	S\9S\10SS4U4SjjrSU4SjjrSSjr
SS	jrSSjrSS\S11SS4S
jjrSSjrS\S\\SS4SjrS\S\\SS4Sjr\S\12SS4Sj5rS\S\4SjrSrU=r$)r�&�args�kw�returnNc�P>�[TU]"U0UD6 SUlSUlSUlg�Nr)�super�__init__�_task�	exit_code�_notify_waiter)�selfrr�	__class__s   ��TD:\code\apps\devtools\python\user_packages\Python313\site-packages\aiohttp/worker.pyr�GunicornWebWorker.__init__*s+���
���$�%�"�%�37��13����>B���c��>�[R"5R5 [R"5Ul[R"UR145 [TU]!5 g![a NUf=f�N)	�asyncio�get_event_loop�close�RuntimeError�new_event_loop�loop�set_event_loopr�init_process)rrs �rr*�GunicornWebWorker.init_process1s`���	��"�"�$�*�*�,�15�*�*�,��	����t�y�y�)�
������	��	�s�#A/�/16A<�;A<c���URRUR55UlURR	UR5 URR	URR55 URR5 [R"UR5 g![17a URRS5 N�f=f)NzException in gunicorn worker)
r(�create_task�_runr�run_until_complete�	Exception�log�	exception�shutdown_asyncgensr%�sys�exitr�rs r�run�GunicornWebWorker.run>s����Y�Y�*�*�4�9�9�;�7��18�	?��I�I�(�(����4�	
�	�	�$�$�T�Y�Y�%A�%A�%C�D��	�	���������� ���	?��H�H���=�>�	?�s�%C�%C+�*C+c	��2# �Sn[UR[5(a
URnO�[R"UR5(d9[19RS:an[R"UR5(aIUR5IShv�Nn[U[R5(aUnURnO'UnO$[SRUR55eUc�URR(aURR OSn[R"UURURR"UUR%URR&5URR(S-S-S9nUR+5IShv�N URR,(aUR/UR5OSnUnUceUR0nUceUR2H1n[R4"UUUS9nUR75IShv�N M3 [8R:"5n	UR<(a�UR?5 UR@n20URB(a3X�RB:�a$SUlURRESU5 OxU	[8R:"5:XaGURF[8RH"5:wa$SUlURRES	U5 OURK5IShv�N UR<(aM�URO5IShv�N gGN�GN�GN:N9![La N0f=fN 7f)21N)��zUwsgi app should be either Application or async function returning Application, got {}�d�_)�logger�keepalive_timeout�22access_log�access_log_format�shutdown_timeout)�ssl_contextFzMax requests, shutting down: %sz!Parent changed, shutting down: %s)(�23isinstance�wsgir�inspect�iscoroutinefunctionr4�version_infor#r	�	AppRunner�appr&�format�cfg�	accesslogr1r@�	keepalive�_get_valid_log_formatrA�graceful_timeout�setup�is_ssl�_create_ssl_context�server�sockets�SockSite�start�os�getpid�alive�notify�requests_count�max_requests�info�ppid�getppid�_wait_next_notify�
BaseException�cleanup)r�runnerrJrEr@�ctxrT�sock�site�pid�cnts           rr.�GunicornWebWorker._runJs�������d�i�i��-�-��)�)�C�
�
(�
(����
3�
3����w�&�7�+F�+F�t�y�y�+Q�+Q�����$�D��$��
�
�.�.����j�j�����?�?E�v�d�i�i�?P��
�24�>�04���0B�0B����,�,��J��]�]���x�x�"&�(�(�"4�"4�%�"&�"<�"<��H�H�.�.�#�"&���!:�!:�S�!@�2�!E�	�F��l�l�n���48�H�H�O�O�d�&�&�t�x�x�0������!�!�!������!�!�!��L�L�D��<�<�����D�25�*�*�,���
!��i�i�k��	��*�*����
��+�+���$�$��/@�/@�)@�!&�D�J��H�H�M�M�"C�T�J��B�I�I�K�'�D�I�I�����,E�!&�D�J��H�H�M�M�"E�t�L��0�0�2�2�2��*�*�*� �n�n����w%�0	�
�"3���	��	��	�s{�B N�"M:�#DN�9M=�:BN�N�N�%C$N�	N�26N�!N�4N�5N�=N�N�N�27N�N�N�N�asyncio.Future[bool]c���UR5 URnUceUR5=UlnURR	SURU5 U$)Ng�?)�_notify_waiter_doner(�
create_futurer�28call_later)rr(�waiters   rra�#GunicornWebWorker._wait_next_notify�sZ��� � �"��y�y������'+�'9�'9�';�;���f��	�	���S�$�":�":�F�C��
r rpc�l�UcURnUb[US5 XRLaSUlgg)NT)rr)rrps  rrm�%GunicornWebWorker._notify_waiter_done�s=���>��(�(�F����v�t�$��(�(�(�"&�D��)r c���URR[RUR[RS5 URR[R29UR[R30S5 URR[RUR[RS5 URR[RUR[RS5 URR[RUR[RS5 URR[RUR[RS5 [R"[R31S5 [R"[RS5 g�NF)r(�add_signal_handler�signal�SIGQUIT�handle_quit�SIGTERM�handle_exit�SIGINT�SIGWINCH�handle_winch�SIGUSR1�handle_usr1�SIGABRT�handle_abort�siginterruptr6s r�init_signals�GunicornWebWorker.init_signals�s.��	
�	�	�$�$��N�N�D�,�,�f�n�n�d�	32�	
�	�	�$�$��N�N�D�,�,�f�n�n�d�	33�	
�	�	�$�$��M�M�4�+�+�V�]�]�D�	34�	
�	�	�$�$��O�O�T�.�.�����	35�	
�	�	�$�$��N�N�D�,�,�f�n�n�d�	36�	
�	�	�$�$��N�N�D�-�-�v�~�~�t�	37�	���F�N�N�E�2����F�N�N�E�2r �sig�framec�h�SUlURRU5 UR5 gru)rZrL�38worker_intrm�rr�r�s   rry�GunicornWebWorker.handle_quit�s+����39�	
�����D�!�	
� � �"r c��SUlSUlURRU5 [R40"S5 g)NFr41)rZrrL�worker_abortr4r5r�s   rr��GunicornWebWorker.handle_abort�s-����42���������d�#�����r rL�43SSLContextc��[c[S5e[R"UR5nUR	UR44UR5 URUlUR(aURUR5 UR(aURUR5 U$)znCreates SSLContext instance for usage in asyncio.create_server.45 46See ssl.SSLSocket.__init__ for more details.47zSSL is not supported.)
�sslr&r��ssl_version�load_cert_chain�certfile�keyfile�	cert_reqs�verify_mode�ca_certs�load_verify_locations�ciphers�set_ciphers)rLres  rrS�%GunicornWebWorker._create_ssl_context�s���;��6�7�7��n�n�S�_�_�-�����C�L�L�#�+�+�6��-�-����<�<��%�%�c�l�l�3��;�;��O�O�C�K�K�(��48r �
source_formatc��XR:XaUR$[R"SU5(a[	S5eU$)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�49ValueError)rr�s  rrO�'GunicornWebWorker._get_valid_log_format�sE���<�<�<��2�2�2�
�Y�Y�~�}�
5�
5��(��
�!� r )rrrZrr(�rN)rrkr")�__name__�50__module__�__qualname__�__firstlineno__r
�51LOG_FORMATr��GunicornAccessLogFormat�defaultr�rrr*r7r.rarrmr��intrryr��staticmethodrS�strrO�__static_attributes__�
__classcell__�rs@rrr&s����!-�!8�!8��"9�"A�"A��C�c�C��C��C��52!�B�H�:>�	'��5�6�	'�	
�	'�3�D#�s�#�8�I�+>�#�4�#����H�Y�,?��D����������"!�3�!�3�!�!r rc�,^�\rSrSrSU4SjjrSrU=r$)r��c��>�SSKn[R"5R5 [R53"UR
55 [TU]!5 g![a N?f=fr)	�uvloopr#r$r%r&�set_event_loop_policy�EventLoopPolicyrr*)rr�rs  �rr*�$GunicornUVLoopWebWorker.init_process�sX����	��"�"�$�*�*�,�	�%�%�f�&<�&<�&>�?�
������	��	�s�#A�54A*�)A*�r�)r�r�r�r�r*r�r�r�s@rrr�s
����r r)"�__doc__r#rFrXr�rwr4�typesr�typingrrr�gunicorn.configrr��gunicorn.workersr�aiohttpr	�helpersr�web_appr�web_logr
r�r��ImportError�object�__all__�Workerrrr�r r�<module>r�s���+���	�	�
�55��/�/�F�!��� �!������J����^�^�56�;��L!����L!�^�/���o�����57��s�(B�58B(�'B(
codekingpro/portable-devtools · Team Ai