Viewing File: /opt/hc_python/lib/python3.12/site-packages/sentry_sdk/integrations/__pycache__/arq.cpython-312.pyc
�
_�*j�$ � �� � d dl Z d dlZd dlmZmZmZ d dlmZmZm Z d dl
mZ d dlm
Z
d dlmZ d dlmZmZ d dlmZ d d lmZmZmZmZmZmZmZ d dlZd d
lm Z d dl!m"Z# d dlm$Z$m%Z%m&Z&m'Z' d dl)m*Z* e*r0d dl)m+Z+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dlm5Z5 d dl6m7Z7m8Z8m9Z9m:Z: e$e%e&fZ; G d� 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
� �w xY w)(� 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 �, � e Zd ZdZde� �Zedd�� Zy)�ArqIntegration�arqzauto.queue.Nc �2 � t t t � rt t � } nt j d d } t t | � t � t � t � t t � t d� y # t
t f$ r d } Y �\w xY w)N� z
arq.worker)�
isinstance�ARQ_VERSION�strr �version� TypeError�
ValueErrorr r* �patch_enqueue_job�
patch_run_job�patch_create_workerr �ARQ_CONTROL_FLOW_EXCEPTIONSr )r1 s �J/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/integrations/arq.py�
setup_oncezArqIntegration.setup_once0 sv � � ��+�s�+�'��4��%�-�-�b�q�1��
�~�w�7�������(�)D�E��l�#�� �:�&� ��G� �s �7B �B�B��returnN)�__name__�
__module__�__qualname__�
identifier�origin�staticmethodr9 � � r8 r* r* , s% � ��J��:�,�
'�F��$� �$rC r* r; c
� �� t j ��j } dddt ddddddf
�fd �}| |_ |t _ y )
N�selfr �function�argsr �kwargsr; z
Optional[Job]c � �R �K � t j � }|j t � � �| |g|��i |��� d { ��� S t |j
� r_t j j |t j t j d��� 5 �| |g|��i |��� d { ��� cd d d � S t j t j |t j �� 5 �| |g|��i |��� d { ��� cd d d � S 7 ��7 �b# 1 sw Y �`xY w7 �# 1 sw Y y xY w�w)N)� sentry.op�
sentry.origin)�name�
attributes)�oprL r@ )�
sentry_sdk�
get_client�get_integrationr* r �options�traces�
start_spanr �QUEUE_SUBMIT_ARQr@ )rE rF rG rH �client�old_enqueue_jobs �r8 �_sentry_enqueue_jobz.patch_enqueue_job.<locals>._sentry_enqueue_jobJ s �� �� � �&�&�(���!�!�.�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_kwdefaultsrX rW s @r8 r4 r4 F s` �� ��*�*�O�)�8�8��J��J�$'�J�05�J�AF�J� �J�, *=��&�.�H�rC c �h �� t j �dddt dt dd f�fd�} | t _ y )NrE r �job_id�scorer; c � �d �K � t j � }|j t � � �| ||� � d { ��� S t j � 5 }d|_ |j
� t |j � r�t j j ddt j dt j dt j t j"