Ë
    õ�Dj=  ã                   ó:  — d dl Z d dlZd dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ d dlmZmZmZmZmZ 	 d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlm Z  e rd dlm!Z!m"Z" d dl#m$Z$m%Z% d dlm&Z& d dlm'Z'  G d„ de«      Z(d„ Z)d„ Z*y# e$ r	  ed«      ‚w xY w)é    N)ÚOP)Úcontinue_trace)ÚDidNotEnableÚIntegration)Úignore_logger)ÚTRANSACTION_SOURCE_TASK)Úcapture_internal_exceptionsÚensure_integration_enabledÚevent_from_exceptionÚformat_timestampÚparse_version)ÚQueue)ÚJobTimeoutException)ÚVERSION)ÚWorker)Ú	JobStatuszRQ not installed)ÚTYPE_CHECKING)ÚAnyÚCallable)ÚEventÚEventProcessor)ÚExcInfo)ÚJobc                   ó*   — e Zd ZdZde› �Zed„ «       Zy)ÚRqIntegrationÚrqzauto.queue.c                  óª  ‡‡‡— t        t        «      } | €t        dj                  t        «      «      ‚| dk  rt        d«      ‚t        j
                  Št        t        ‰«      ˆfd„«       }|t        _        t        j                  Šˆfd„}|t        _        t        j                  Št        t        ‰«      ˆfd„«       }|t        _
        t        d«       y )NzUnparsable RQ version: {})r   é   zRQ 0.6 or newer is required.c                 ó   •— t        j                  «       5 }|j                  «        |j                  t	        t        j                  |«      «      «       t        |j                  j                  d«      xs i t        j                  dt        t        j                  ¬«      }t        «       5  |j                   |_        d d d «       t        j$                  |d|i¬«      5   ‰| |g|¢­i |¤Ž}d d d «       d d d «       | j&                  r"t        j(                  «       j+                  «        S # 1 sw Y   ŒpxY w# 1 sw Y   ŒMxY w# 1 sw Y   ŒQxY w)NÚ_sentry_trace_headerszunknown RQ task)ÚopÚnameÚsourceÚoriginÚrq_job)Úcustom_sampling_context)Ú
sentry_sdkÚ	new_scopeÚclear_breadcrumbsÚadd_event_processorÚ_make_event_processorÚweakrefÚrefr   ÚmetaÚgetr   ÚQUEUE_TASK_RQr   r   r$   r	   Ú	func_namer"   Ústart_transactionÚis_horseÚ
get_clientÚflush)ÚselfÚjobÚargsÚkwargsÚscopeÚtransactionÚrvÚold_perform_jobs          €ú^C:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\sentry_sdk/integrations/rq.pyÚsentry_patched_perform_jobz<RqIntegration.setup_once.<locals>.sentry_patched_perform_job7   s&  ø€ ô ×%Ñ%Ó'ð E¨5Ø×'Ñ'Ô)Ø×)Ñ)Ô*?ÄÇÁÈCÓ@PÓ*QÔRä,Ø—H‘H—L‘LÐ!8Ó9Ò?¸RÜ×'Ñ'Ø*Ü2Ü(×/Ñ/ô�ô 1Ó2ñ 5Ø'*§}¡}�KÔ$÷5ô  ×1Ñ1ØØ-5°s¨Oôñ Eñ )¨¨sÐD°TÒD¸VÑD�B÷	E÷Eð* �}Š}ô ×%Ñ%Ó'×-Ñ-Ô/àˆI÷5ð 5ú÷Eð Eú÷Eð Eús<   –BEÂ+D,Â=!EÃD8Ã,EÄ,D5	Ä1EÄ8E	Ä=EÅEc                 óè   •— t        |d«      xr |j                  xr |j                  dkD  }|j                  t        j                  k(  xs |j
                  }|r|st        |«        ‰| |g|¢­i |¤ŽS )NÚretries_leftr   )ÚhasattrrA   Ú_statusr   ÚFAILEDÚ	is_failedÚ_capture_exception)r6   r7   Úexc_infor9   ÚretryÚfailedÚold_handle_exceptions         €r>   Úsentry_patched_handle_exceptionzARqIntegration.setup_once.<locals>.sentry_patched_handle_exception[   sx   ø€ ô ˜˜^Ó,ò )Ø×$Ñ$ò)à×$Ñ$ qÑ(ð ð
 —[‘[¤I×$4Ñ$4Ñ4ÒE¸¿¹ˆFÙ™eÜ" 8Ô,á'¨¨cÐG°HÒGÀÑGÐGó    c                 ó¤   •— t        j                  «       }|j                  �&t        |j	                  «       «      |j
                  d<    ‰| |fi |¤ŽS )Nr    )r'   Úget_current_scopeÚspanÚdictÚiter_trace_propagation_headersr.   )r6   r7   r9   r:   Úold_enqueue_jobs       €r>   Úsentry_patched_enqueue_jobz<RqIntegration.setup_once.<locals>.sentry_patched_enqueue_jobl   sQ   ø€ ô ×0Ñ0Ó2ˆEØ�z‰zÐ%Ü48Ø×8Ñ8Ó:ó5�—‘Ð0Ñ1ñ # 4¨Ñ7°Ñ7Ð7rL   z	rq.worker)r   Ú
RQ_VERSIONr   Úformatr   Úperform_jobr
   r   Úhandle_exceptionr   Úenqueue_jobr   )Úversionr?   rK   rS   rR   rJ   r=   s       @@@r>   Ú
setup_oncezRqIntegration.setup_once)   sÂ   ú€ ô  ¤
Ó+ˆàˆ?ÜÐ:×AÑAÄ*ÓMÓNÐNà�VÒÜÐ=Ó>Ð>ä ×,Ñ,ˆä	#¤M°?Ó	Có	ó 
Dð	ð> 8ŒÔä%×6Ñ6Ðô	Hð #BŒÔä×+Ñ+ˆä	#¤M°?Ó	Có	8ó 
Dð	8ð 7ŒÔä�kÕ"rL   N)Ú__name__Ú
__module__Ú__qualname__Ú
identifierr$   ÚstaticmethodrZ   © rL   r>   r   r   %   s'   „ Ø€JØ˜:˜,Ð'€FàñO#ó ñO#rL   r   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó&  •—  ‰«       }|�¬t        «       5  | j                  di «      }|j                  |j                  |j                  |j
                  |j                  dœ}|j                  rt        |j                  «      |d<   |j                  rt        |j                  «      |d<   ||d<   d d d «       d|v r=t        «       5  t        |d   d   t        «      rdd	|j                  g| d
<   d d d «       | S | S # 1 sw Y   ŒLxY w# 1 sw Y   | S xY w)NÚextra)Újob_idÚfuncr8   r9   ÚdescriptionÚenqueued_atÚ
started_atzrq-jobrG   r   r   r   Úfingerprint)r	   Ú
setdefaultÚidr1   r8   r9   rf   rg   r   rh   Ú
issubclassr   )ÚeventÚhintr7   rc   r%   Úweak_jobs        €r>   Úevent_processorz._make_event_processor.<locals>.event_processor~   s  ø€ á‹jˆØˆ?Ü,Ó.ñ )Ø×(Ñ(¨°"Ó5�à!Ÿf™fØŸM™MØŸH™HØ!Ÿj™jØ#&§?¡?ñ�ð —?’?Ü,<¸S¿_¹_Ó,M�F˜=Ñ)Ø—>’>Ü+;¸C¿N¹NÓ+K�F˜<Ñ(à"(��h‘÷)ð" ˜ÑÜ,Ó.ñ XÜ˜d :Ñ.¨qÑ1Ô3FÔGØ,0Ð2GÈÏÉÐ+W�E˜-Ñ(÷Xð ˆˆuˆ÷-)ð )ú÷$Xð ˆús   •BC:Ã)DÃ:DÄDr`   )ro   rp   s   ` r>   r+   r+   |   s   ø€ ôð8 ÐrL   c                 ó–   — t        j                  «       }t        | |j                  dddœ¬«      \  }}t        j                  ||¬«       y )Nr   F)ÚtypeÚhandled)Úclient_optionsÚ	mechanism)rn   )r'   r4   r   ÚoptionsÚcapture_event)rG   r9   Úclientrm   rn   s        r>   rF   rF   �   sB   € ä×"Ñ"Ó$€Fä&ØØ—~‘~Ø¨EÑ2ô�K€Eˆ4ô ×Ñ˜U¨Ö.rL   )+r,   r'   Úsentry_sdk.constsr   Úsentry_sdk.apir   Úsentry_sdk.integrationsr   r   Úsentry_sdk.integrations.loggingr   Úsentry_sdk.tracingr   Úsentry_sdk.utilsr	   r
   r   r   r   Úrq.queuer   Úrq.timeoutsr   Ú
rq.versionr   rT   Ú	rq.workerr   Úrq.jobr   ÚImportErrorÚtypingr   r   r   Úsentry_sdk._typesr   r   r   r   r   r+   rF   r`   rL   r>   ú<module>r‡      s„   ðÛ ã Ý  Ý )ß =Ý 9Ý 6÷õ ð+ÝÝ/Ý0Ý Ý õ !áß$ç7Ý(åôT#�Kô T#ònóB
/øðM ò +Ù
Ð)Ó
*Ð*ð+ús   ¸B ÂB