Hacked By AnonymousFox

Current Path : /opt/cloudlinux/venv/lib64/python3.11/site-packages/raven/transport/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/raven/transport/__pycache__/threaded.cpython-311.pyc

�

�܋f�����dZddlmZddlZddlZddlZddlZddlmZmZddl	m
Z
ddlmZddl
mZmZdZejd	��ZGd
�de��ZGd�d
e
e��ZdS)z�
raven.transport.threaded
~~~~~~~~~~~~~~~~~~~~~~~~

:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
�)�absolute_importN)�sleep�time)�AsyncTransport)�
HTTPTransport)�Queue�
check_threads�
z
sentry.errorsc�^�eZdZe��Zefd�Zd�Zd�Zd�Z	d�Z
d�Zdd�Zd	�Z
d
�ZdS)�AsyncWorkerc���t��td��|_tj��|_d|_d|_d|i|_|�	��dS)N����shutdown_timeout)
r	r�_queue�	threading�Lock�_lock�_thread�_thread_for_pid�options�start)�selfrs  �O/opt/cloudlinux/venv/lib64/python3.11/site-packages/raven/transport/threaded.py�__init__zAsyncWorker.__init__sX�������B�i�i����^�%�%��
����#���� 0�
���	
�
�
������c�~�|jtj��krdS|jo|j���S)NF)r�os�getpidr�is_alive�rs rrzAsyncWorker.is_alive(s6����2�9�;�;�.�.��5��|�7��� 5� 5� 7� 7�7rc�Z�|���rdS|���dS�N)rrr s r�_ensure_threadzAsyncWorker._ensure_thread-s(���=�=�?�?�	��F��
�
�����rc�B�|j5|���s	ddd��dS|j�|j��|jd}t
d|��}|�|��s�|j���}td|z��td|z��tjdkrtd��ntd��|�||z
��d|_ddd��dS#1swxYwYdS)Nrg�������?z6Sentry is attempting to send %i pending error messageszWaiting up to %s seconds�ntzPress Ctrl-Break to quitzPress Ctrl-C to quit)
rrr�
put_nowait�_terminatorr�min�_timed_queue_join�qsize�printr�namer)r�timeout�initial_timeout�sizes    r�main_thread_terminatedz"AsyncWorker.main_thread_terminated2s���
�Z�	 �	 ��=�=�?�?�
��	 �	 �	 �	 �	 �	 �	 �	 �
�K�"�"�4�#3�4�4�4��l�#5�6�G�"�#�w�/�/�O��)�)�/�:�:�
B��{�(�(�*�*���N�������0�7�:�;�;�;��7�d�?�?��4�5�5�5�5��0�1�1�1��&�&�w��'@�A�A�A��D�L�=	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�D�CD�D�Dc��t��|z}|j}|j���	|jrU|t��z
}|dkr	|j���dS|j�|���|j�U	|j���dS#|j���wxYw)z�
        implementation of Queue.join which takes a 'timeout' argument

        returns true on success, false on timeout
        rF�r-T)rr�all_tasks_done�acquire�unfinished_tasks�release�wait)rr-�deadline�queue�delays     rr)zAsyncWorker._timed_queue_joinSs����6�6�G�#�����
��$�$�&�&�&�	+��(�
9� �4�6�6�)���A�:�:� �
� �(�(�*�*�*�*�*��$�)�)�%�)�8�8�8�
�(�
9��
� �(�(�*�*�*�*�*��E� �(�(�*�*�*�*���s�B+�-"B+�+Cc�
�|j���	|���sktj|jd���|_|j�d��|j���tj
��|_|j���tj|j��dS#|j���tj|j��wxYw)z)
        Starts the task thread.
        zraven.AsyncWorker)�targetr,TN)rr4rr�Thread�_targetr�	setDaemonrrrrr6�atexit�registerr0r s rrzAsyncWorker.startks���	
�
������	9��=�=�?�?�
3�(�/�t�|�J]�^�^�^�����&�&�t�,�,�,���"�"�$�$�$�')�y�{�{��$��J��� � � ��O�D�7�8�8�8�8�8��
�J��� � � ��O�D�7�8�8�8�8���s�A?C�4DNc���|j5|jrH|j�|j��|j�|���d|_d|_ddd��dS#1swxYwYdS)z5
        Stops the task thread. Synchronous!
        r2N)rrrr&r'�joinr)rr-s  r�stopzAsyncWorker.stopzs����Z�	,�	,��|�
,���&�&�t�'7�8�8�8���!�!�'�!�2�2�2�#���'+��$�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s�AA%�%A)�,A)c�h�|���|j�|||f��dSr")r#rr&)r�callback�args�kwargss    rr9zAsyncWorker.queue�s7�������������$��7�8�8�8�8�8rc��	|j���}	||jur	|j���dS|\}}}	||i|��n,#t$rt
�dd���YnwxYw|j���n#|j���wxYwtd����)NTzFailed processing job)�exc_infor)r�getr'�	task_done�	Exception�logger�errorr)r�recordrFrGrHs     rr>zAsyncWorker._target�s���
	��[�_�_�&�&�F�	
(��T�-�-�-����%�%�'�'�'�'�'�
*0�&��$��I��H�d�-�f�-�-�-�-�� �I�I�I��L�L�!8�4�L�H�H�H�H�H�I������%�%�'�'�'�'����%�%�'�'�'�'�����!�H�H�H�
	s5�	B�B�A�B�&A:�7B�9A:�:B�B2r")�__name__�
__module__�__qualname__�objectr'�DEFAULT_TIMEOUTrrr#r0r)rrDr9r>�rrrrs��������&�(�(�K�(7�	�	�	�	�8�8�8�
���
 � � �B+�+�+�0
9�
9�
9�	,�	,�	,�	,�9�9�9�����rrc�2��eZdZgd�Zd�Z�fd�Zd�Z�xZS)�ThreadedHTTPTransport)�http�httpsz
threaded+httpzthreaded+httpsc��t|d��r|j���st��|_|jS)N�_worker)�hasattrr\rrr s r�
get_workerz ThreadedHTTPTransport.get_worker�s<���t�Y�'�'�	)�t�|�/D�/D�/F�/F�	)�&�=�=�D�L��|�rc���	tt|���|||��|��dS#t$r}||��Yd}~dSd}~wwxYwr")�superrX�sendrM)r�url�data�headers�
success_cb�
failure_cb�e�	__class__s       �r�	send_synczThreadedHTTPTransport.send_sync�sv���	��'��.�.�3�3�C��w�G�G�G�
�J�L�L�L�L�L���	�	�	��J�q�M�M�M�M�M�M�M�M�M�����	���s�*9�
A�A�Ac�h�|����|j|||||��dSr")r^r9ri)rrbrcrdrerfs      r�
async_sendz ThreadedHTTPTransport.async_send�sB����������N�C��w�
�J�	H�	H�	H�	H�	Hr)rQrRrS�schemer^rirk�
__classcell__)rhs@rrXrX�sh�������
A�
A�
A�F����
�����H�H�H�H�H�H�HrrX)�__doc__�
__future__rr@�loggingrrrr�raven.transport.baser�raven.transport.httpr�raven.utils.compatrr	rU�	getLoggerrNrTrrXrVrr�<module>rus(����'�&�&�&�&�&�
�
�
�
���������	�	�	�	���������/�/�/�/�/�/�.�.�.�.�.�.�3�3�3�3�3�3�3�3���	��	�?�	+�	+��}�}�}�}�}�&�}�}�}�@H�H�H�H�H�N�M�H�H�H�H�Hr

Hacked By AnonymousFox1.0, Coded By AnonymousFox