JFIF$        dd7 

Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/sentry_sdk/__pycache__/worker.cpython-311.pyc

�

�����;>���ddlZddlZddlmZmZddlmZddlmZmZddl	m
Z
ddlmZerddl
mZddl
mZdd	l
mZe��ZGd
�de��ZdS)�N)�sleep�time)�check_thread_support)�Queue�Full)�logger)�MYPY)�Any)�Optional)�Callablec�^�eZdZd
d�Zed���Zd�Zd�Zd�Zd�Z	dd	�Z
d
�Zd�Zd�Z
dS)�BackgroundWorker�c��t��t|��|_tj��|_d|_d|_dS�N)rr�_queue�	threading�Lock�_lock�_thread�_thread_for_pid)�self�
queue_sizes  �q/builddir/build/BUILD/imunify360-venv-2.6.0/opt/imunify360/venv/lib/python3.11/site-packages/sentry_sdk/worker.py�__init__zBackgroundWorker.__init__sA�������J�'�'����^�%�%��
����#�����c��|jtj��krdS|jsdS|j���S)NF)r�os�getpidr�is_alive�rs rr zBackgroundWorker.is_alives@����2�9�;�;�.�.��5��|�	��5��|�$�$�&�&�&rc�@�|js|���dSdSr)r �startr!s r�_ensure_threadzBackgroundWorker._ensure_thread&s'���}�	��J�J�L�L�L�L�L�	�	rc��t��|z}|j}|j���	|jrU|t��z
}|dkr	|j���dS|j�|���|j�U	|j���dS#|j���wxYw)NrF)�timeoutT)rr�all_tasks_done�acquire�unfinished_tasks�release�wait)rr&�deadline�queue�delays     r�_timed_queue_joinz"BackgroundWorker._timed_queue_join+s����6�6�G�#�����
��$�$�&�&�&�		+��(�
9� �4�6�6�)���A�:�:� �

� �(�(�*�*�*�*�*�	�$�)�)�%�)�8�8�8�	�(�
9��� �(�(�*�*�*�*�*��E� �(�(�*�*�*�*���s�B+�-"B+�+Cc�*�|j5|jsktj|jd���|_|j�d��|j���tj	��|_
ddd��dS#1swxYwYdS)Nzraven-sentry.BackgroundWorker)�target�nameT)rr r�Thread�_targetr�	setDaemonr#rrrr!s rr#zBackgroundWorker.start=s���
�Z�	3�	3��=�
3�(�/��<�.M� � � �����&�&�t�,�,�,���"�"�$�$�$�')�y�{�{��$�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s�A3B�B�Bc�"�tjd��|j5|jrS	|j�t��n$#t$rtjd��YnwxYwd|_d|_ddd��dS#1swxYwYdS)z�
        Kill worker thread. Returns immediately. Not useful for
        waiting on shutdown for events, use `flush` for that.
        z"background worker got kill requestz)background worker queue full, kill failedN)	r�debugrrr�
put_nowait�_TERMINATORrrr!s r�killzBackgroundWorker.killHs���	��9�:�:�:�
�Z�	,�	,��|�
,�N��K�*�*�;�7�7�7�7���N�N�N��L�!L�M�M�M�M�M�N���� $���'+��$�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,s4�B�A�B�A&�#B�%A&�&B�B�BNc���tjd��|j5|jr|dkr|�||��ddd��n#1swxYwYtjd��dS)Nz#background worker got flush requestgzbackground worker flushed)rr7rr �_wait_flush)rr&�callbacks   r�flushzBackgroundWorker.flushYs�����:�;�;�;�
�Z�	4�	4��}�
4��3���� � ��(�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	��0�1�1�1�1�1s�$A�A�Ac��td|��}|�|��sV|j���}t	jd|��|�|||��|�||z
��dSdS)Ng�������?z%d event(s) pending on flush)�minr/r�qsizerr7)rr&r=�initial_timeout�pendings     rr<zBackgroundWorker._wait_flushas����c�7�+�+���%�%�o�6�6�	>��k�'�'�)�)�G��L�7��A�A�A��#����'�*�*�*��"�"�7�_�#<�=�=�=�=�=�	>�	>rc��|���	|j�|��dS#t$rt	jd��YdSwxYw)Nz,background worker queue full, dropping event)r$rr8rrr7�rr=s  r�submitzBackgroundWorker.submitkso��������	I��K�"�"�8�,�,�,�,�,���	I�	I�	I��L�G�H�H�H�H�H�H�	I���s�2�A�Ac�v�	|j���}	|tur	|j���dS	|��n&#t$rtjdd���YnwxYw|j���n#|j���wxYwtd����)NTzFailed processing job)�exc_infor)r�getr9�	task_done�	Exceptionr�errorrrEs  rr4zBackgroundWorker._targetss���	��{���(�(�H�
(��{�*�*����%�%�'�'�'�'�'�I��H�J�J�J�J�� �I�I�I��L�!8�4�H�H�H�H�H�H�I������%�%�'�'�'�'����%�%�'�'�'�'�����!�H�H�H�	s/�	B
�
A
�B
�
 A0�-B
�/A0�0B
�
B()rr)�__name__�
__module__�__qualname__r�propertyr r$r/r#r:r>r<rFr4�rrrrs�������$�$�$�$��'�'��X�'����
+�+�+�$	3�	3�	3�,�,�,�"2�2�2�2�>�>�>�I�I�I�
�
�
�
�
rr)rrrr�sentry_sdk._compatr�sentry_sdk._queuerr�sentry_sdk.utilsr�sentry_sdk._typesr	�typingr
rr�objectr9rrQrr�<module>rXs	��	�	�	�	�������������3�3�3�3�3�3�)�)�)�)�)�)�)�)�#�#�#�#�#�#�"�"�"�"�"�"�� ��������������������f�h�h��l�l�l�l�l�v�l�l�l�l�lr
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg