Viewing File: /opt/hc_python/lib/python3.12/site-packages/sentry_sdk/integrations/__pycache__/arq.cpython-312.pyc

�

_�*j�$����ddlZddlZddlmZmZmZddlmZmZm	Z	ddl
mZddlm
Z
ddlmZddlmZmZddlmZdd	lmZmZmZmZmZmZmZ	ddlZdd
lm Z ddl!m"Z#ddlm$Z$m%Z%m&Z&m'Z'ddl)m*Z*e*r0ddl)m+Z+m,Z,m-Z-m.Z.ddl/m0Z0ddl1m2Z2ddl3m4Z4ddlm5Z5ddl6m7Z7m8Z8m9Z9m:Z:e$e%e&fZ;Gd�de�Z<d#d�Z=d#d�Z>d$d�Z?								d%d�Z@deAddddfd�ZBd#d �ZCd&d!�ZDd'd"�ZEy#e($r	ed
��wxYw)(�N)�OP�SPANDATA�
SPANSTATUS)�DidNotEnable�Integration�_check_minimum_version)�
ignore_logger)�should_send_default_pii)�
SegmentSource)�Transaction�TransactionSource)�has_span_streaming_enabled)�SENSITIVE_DATA_SUBSTITUTE� _register_control_flow_exception�capture_internal_exceptions�ensure_integration_enabled�event_from_exception�
parse_version�reraise)�ArqRedis)�VERSION)�JobExecutionFailed�Retry�RetryJob�WorkerzArq is not installed)�
TYPE_CHECKING)�Any�Dict�Optional�Union)�CronJob)�Job)�WorkerCoroutine)�Function)�Event�EventProcessor�ExcInfo�Hintc�,�eZdZdZde��Zedd��Zy)�ArqIntegration�arqzauto.queue.Nc�2�	ttt�rtt�}ntjdd}tt|�t�t�t�tt�td�y#t
tf$rd}Y�\wxYw)N�z
arq.worker)�
isinstance�ARQ_VERSION�strr�version�	TypeError�
ValueErrorrr*�patch_enqueue_job�
patch_run_job�patch_create_workerr�ARQ_CONTROL_FLOW_EXCEPTIONSr	)r1s �J/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/integrations/arq.py�
setup_oncezArqIntegration.setup_once0sv��	��+�s�+�'��4��%�-�-�b�q�1��
	�~�w�7�������(�)D�E��l�#���:�&�	��G�	�s�7B�B�B��returnN)�__name__�
__module__�__qualname__�
identifier�origin�staticmethodr9��r8r*r*,s%���J��:�,�
'�F��$��$rCr*r;c
���tj��j}dddtddddddf
�fd	�}||_|t_y)
N�selfr�function�argsr�kwargsr;z
Optional[Job]c��R�K�tj�}|jt���||g|��i|���d{���St	|j
�r_tjj|tjtjd���5�||g|��i|���d{���cddd�Stjtj|tj��5�||g|��i|���d{���cddd�S7��7�b#1swY�`xYw7�#1swYyxYw�w)N)�	sentry.op�
sentry.origin)�name�
attributes)�oprLr@)�
sentry_sdk�
get_client�get_integrationr*r�options�traces�
start_spanr�QUEUE_SUBMIT_ARQr@)rErFrGrH�client�old_enqueue_jobs     �r8�_sentry_enqueue_jobz.patch_enqueue_job.<locals>._sentry_enqueue_jobJs������&�&�(���!�!�.�1�9�(��x�I�$�I�&�I�I�I�%�f�n�n�5��"�"�-�-��!#�!4�!4�%3�%:�%:��.��-�T�8�M�d�M�f�M�M����
"�
"��"�"��.�:O�:O�
�)��x�I�$�I�&�I�I�
�
�J��N�����J��
�
�sd�:D'�D	�AD'�D
�(D�)D
�,>D'�*D�;D�<D�?D'�D
�
D�D'�D�D$� D')r�enqueue_job�__kwdefaults__r0)�original_kwdefaultsrXrWs  @r8r4r4Fs`����*�*�O�)�8�8��J��J�$'�J�05�J�AF�J�	�J�,*=��&�.�H�rCc�h��tj�dddtdtddf�fd�}|t_y)NrEr�job_id�scorer;c��d�K�tj�}|jt���|||��d{���Stj�5}d|_|j
�t|j�r�tjjddtjdtjdtjt j"|id��5�|||��d{���cddd�cddd�St%ddtjt&jtj��}tj(|�5�|||��d{���cddd�cddd�S7��A7��#1swY��xYw7�'#1swYnxYw	ddd�y#1swYyxYw�w)	Nr+zunknown arq taskrJrKzsentry.span.source)rLrM�parent_span�ok)rL�statusrN�sourcer@)rOrPrQr*�isolation_scope�_name�clear_breadcrumbsrrRrSrTr�QUEUE_TASK_ARQr@r�TASKr�MESSAGING_MESSAGE_IDrr
�start_transaction)rEr]r^rV�scope�transaction�old_run_jobs      �r8�_sentry_run_jobz&patch_run_job.<locals>._sentry_run_jobgsk������&�&�(���!�!�.�1�9�$�T�6�5�9�9�9�
�
'�
'�
)�U��E�K��#�#�%�)�&�.�.�9��&�&�1�1�+�#�R�%6�%6�'��)>�)>�,�m�.@�.@� �5�5�v�	 �!%�2�	�"-�T�6�5�!A�A�	�	�*�
)�"&�'���$�$�(�-�-�%�,�,��K��-�-�k�:�(��v�u�=�=�;�:�3*�
)�:��"B��	�	��*>��;�:��:�3*�
)�
)�s��7F0�E;�F0�BF$�"F�0E>�1F�4	F$�=
F0�AF$�F�$F�%F�(	F$�1F0�>F�F		�F$�F�F	�F$�	F0�$F-�)F0)r�run_jobr0�int)rnrms @r8r5r5ds7����.�.�K�>�H�>�c�>�#�>�$�>�B%�F�NrCc���tj�}|j�^|dtvr*|jj	t
j�y|jj	t
j�|dtvryt|tj�jtjdd���\}}tj||��y)NrF)�type�handled)�client_options�	mechanism)�hint)rO�get_current_scoperlr7�
set_statusr�ABORTED�INTERNAL_ERRORrrPrRr*r?�
capture_event)�exc_infork�eventrvs    r8�_capture_exceptionr~�s����(�(�*�E����$��A�;�5�5����(�(��);�);�<��
���$�$�Z�%>�%>�?���{�1�1��&��!�,�,�.�6�6�)�4�4��G��K�E�4�
���U��.rCc�����d���fd�}|S)Nc���t�5tj�}|j��d|j_�d|d<|jdi�}�d|d<�ddkD|d<|jd	i�}�dt
�r�ntt
�r�nt�dd
�|d<ddd�|S#1swY|SxYw)N�job_namerl�tagsr]�arq_task_id�job_try��arq_task_retry�extra)�taskrGrH�retryzarq-job)rrOrwrlrL�
setdefaultr
r)r}rvrkr�r�rG�ctxrHs     ���r8�event_processorz._make_event_processor.<locals>.event_processor�s����
(�
*��0�0�2�E�� � �,�),�Z���!�!�&�'*�:���m�$��#�#�F�B�/�D�"%�h�-�D���%(��^�a�%7�D�!�"��$�$�W�b�1�E��J��3�5�D�;T�6�7�F�=V��Y��	 �E�)��+�*��++�*��s�B$B:�:C)r}r%rvr(r;zOptional[Event]rB)r�rGrHr�s``` r8�_make_event_processorr��s����0�rCrL�	coroutiner#c�(���								d��fd�}|S)Nc��8�K�tj�}|jt�}|��	|g|��i|���d{���St	|j
�r:tj�}|j}|��
|_|j�
�tj�jti|�d�
i�g|��i|���	�	|g|��i|���d{���}|S7��7�#t$r+tj�}t!|�t#|�YSwxYw�w)Nr�)rOrPrQr*rrRrw�
streamed_spanrL�set_transaction_name�get_isolation_scope�add_event_processorr��	Exception�sysr|r~r)r�rGrHrV�integrationrk�span�resultr|r�rLs         ��r8�_sentry_coroutinez*_wrap_coroutine.<locals>._sentry_coroutine�s������&�&�(���,�,�^�<����"�3�8��8��8�8�8�%�f�n�n�5��0�0�2�E��&�&�D��� ��	��&�&�t�,��&�&�(�<�<�!�";�S�";�*�d�";�M�d�M�f�M�	
�	�$�S�:�4�:�6�:�:�F��
�+9��;���	��|�|�~�H��x�(��X���
�	�sF�;D�C�B	D�	C#�C!�C#�D�!C#�#0D�D�D�D)r��Dict[Any, Any]rGrrHrr;rrB)rLr�r�s`` r8�_wrap_coroutiner��s0����
��&+��7<��	��:�rCc���tjj�tt��d�fd��}|tj_y)Nc���|r|dn|jd�}t|t�r`d|vr,|jdg�D�cgc]
}t|���c}|d<d|vr,|jdg�D�cgc]
}t	|���c}|d<t|d�r(|jD�cgc]
}t|���c}|_t|d�r,|jxsgD�cgc]
}t	|���c}|_d|vr,|jdg�D�cgc]
}t|���c}|d<d|vr,|jdg�D�cgc]
}t	|���c}|d<�|i|��Scc}wcc}wcc}wcc}wcc}wcc}w)Nr�settings_cls�	functions�	cron_jobs)�getr.�dict�_get_arq_function�_get_arq_cron_job�hasattrr�r�)rGrHr��func�cron_job�old_create_workers     �r8�_sentry_create_workerz2patch_create_worker.<locals>._sentry_create_worker�s����"&�t�A�w�F�J�J�~�,F���l�D�)��l�*�!-� 0� 0��b� A�-� A��&�d�+� A�-��[�)��l�*�%1�$4�$4�[�"�$E�-�$E��&�h�/�$E�-��[�)�
�<��-�)�2�2�&�2�D�"�$�'�2�&�L�"��<��-�".�!7�!7�!=�2�!=�&�!=�H�"�(�+�!=�&�L�"�
�&� �4:�J�J�{�B�4O�#�4O�D�!�$�'�4O�#�F�;���&� �<B�J�J�{�TV�<W�#�<W��!�(�+�<W�#�F�;��!�$�1�&�1�1��=-��
-��&��
&��#��#s$�E�2E#�$E(�E-�E2�>E7)rGrrHrr;r)r+�worker�
create_workerrr*)r�r�s @r8r6r6�s=����
�
�0�0����0A�B�#2�C�#2�J 5�C�J�J�rCc��tjj|�}t|j|j
�|_|S�N)r+r�r�r�rLr�)r��arq_funcs  r8r�r�s2���z�z���t�$�H�(�����8J�8J�K�H���OrCc�P�t|j|j�|_|Sr�)r�rLr�)r�s r8r�r�s ��(�����8J�8J�K�H���OrCr:)r|r'r;N)r�r�rGrrHrr;r&)r�z%Union[str, Function, WorkerCoroutine]r;r$)r�r!r;r!)Fr�rO�sentry_sdk.constsrrr�sentry_sdk.integrationsrrr�sentry_sdk.integrations.loggingr	�sentry_sdk.scoper
�sentry_sdk.tracesr�sentry_sdk.tracingrr
�sentry_sdk.tracing_utilsr�sentry_sdk.utilsrrrrrrr�
arq.workerr+�arq.connectionsr�arq.versionrr/rrrr�ImportError�typingrrrrr �arq.cronr!�arq.jobsr"�
arq.typingr#r$�sentry_sdk._typesr%r&r'r(r7r*r4r5r~r�r0r�r6r�r�rBrCr8�<module>r�s��
��6�6�U�U�9�4�+�=�?����/��(�2�F�F�!��1�1� ��*�#�F�F�1�5�(�C��$�[�$�4/�<$%�N/�*�	��"'��38����<�#��*;��@Q��B)5�X���q�/�
�-�
.�.�/�s�C#�#C1
Back to Directory File Manager