§
    xÅj!  ã                   óÐ  — d dl Z d dlZd dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
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 d d
lmZ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( n# e)$ r  e	d¦  «        ‚w xY w	 d dl'm*Z*  e+e*d¦  «        sdZ*n# e)$ r dZ*Y nw xY wd dl,m-Z- e-rd dl,m.Z.m/Z/ d dlm0Z0 d dl1m2Z2m3Z3 d dlm4Z4  G d„ de
¦  «        Z5d$d„Z6d%d#„Z7dS )&é    N)Úcontinue_trace)ÚOPÚSPANDATA)ÚDidNotEnableÚIntegrationÚ_check_minimum_version)Úignore_logger)ÚScopeÚshould_send_default_pii)ÚSegmentNameSource)ÚTransactionSource)Úhas_span_streaming_enabled)ÚSENSITIVE_DATA_SUBSTITUTEÚcapture_internal_exceptionsÚevent_from_exceptionÚformat_timestampÚhas_data_collection_enabledÚparse_version)Ú	JobStatus)ÚQueue)ÚJobTimeoutException)ÚVERSION)ÚWorkerzRQ not installed)Ú
BaseWorkerÚperform_job)ÚTYPE_CHECKING)ÚAnyÚCallable)ÚJob)ÚEventÚEventProcessor)ÚExcInfoc                   ó4   — e Zd ZdZde› �Zedd„¦   «         ZdS )ÚRqIntegrationÚrqzauto.queue.ÚreturnNc                  óà  ‡‡‡— t          t          ¦  «        } t          t          | ¦  «         t          �t          nt
          }|j        Št          j        ‰¦  «        ddddddddddd	t          fˆfd
„¦   «         }||_        |j
        Š	 	 	 	 	 	 	 	 	 	 dˆfd„}||_
        t          j        Št          j        ‰¦  «        	 	 	 	 	 	 	 	 dˆfd„¦   «         }|t          _        t          d¦  «         d S )NÚselfr   Újobr   Úqueuer   ÚargsÚkwargsr&   c                 ó  •— t          j        ¦   «         }|                     t          ¦  «        € ‰| ||g|¢R i |¤ŽS t          j        ¦   «         5 }|                     ¦   «          |                     t          t          j	        |¦  «        ¦  «        ¦  «         t          |j        ¦  «        �r3t           j                             |j                             d¦  «        pi ¦  «         t!          j        d|i¦  «         d }t%          ¦   «         5  |j        }d d d ¦  «         n# 1 swxY w Y   t           j                             |€dn|dt*          j        dt          j        dt0          j        t4          j        |j        t4          j        |j        id ¬¦  «        5 }|� |                     t4          j         |¦  «          ‰| ||g|¢R i |¤Ž}	d d d ¦  «         n# 1 swxY w Y   nát          |j                             d¦  «        pi t*          j        dtB          j        t          j        ¬¦  «        }
t%          ¦   «         5  |j        |
_        d d d ¦  «         n# 1 swxY w Y   t          j"        |
d|i¬	¦  «        5 }| #                    t4          j        |j        ¦  «          ‰| ||g|¢R i |¤Ž}	d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   | j$        r%t          j        ¦   «          %                    ¦   «          |	S )
NÚ_sentry_trace_headersÚrq_jobzunknown RQ taskz	sentry.opzsentry.originzsentry.segment.name.source)ÚnameÚ
attributesÚparent_span)Úopr0   ÚsourceÚorigin)Úcustom_sampling_context)&Ú
sentry_sdkÚ
get_clientÚget_integrationr$   Ú	new_scopeÚclear_breadcrumbsÚadd_event_processorÚ_make_event_processorÚweakrefÚrefr   ÚoptionsÚtracesr   ÚmetaÚgetr
   Úset_custom_sampling_contextr   Ú	func_nameÚ
start_spanr   ÚQUEUE_TASK_RQr5   r   ÚTASKr   ÚMESSAGING_MESSAGE_IDÚidÚMESSAGING_DESTINATION_NAMEr0   Úset_attributeÚCODE_FUNCTION_NAMEr   Ústart_transactionÚset_dataÚis_horseÚflush)r(   r)   r*   r+   r,   ÚclientÚscoperE   ÚspanÚrvÚtransactionÚold_perform_jobs              €úKC:\Projects\Historical\venv\Lib\site-packages\sentry_sdk/integrations/rq.pyÚsentry_patched_perform_jobz<RqIntegration.setup_once.<locals>.sentry_patched_perform_jobC   so  ø€ õ  Ô*Ñ,Ô,ˆFØ×%Ò%¥mÑ4Ô4Ð<Ø&� t¨S°%ÐI¸$ÐIÐIÐIÀ&ÐIÐIÐIåÔ%Ñ'Ô'ð 0P¨5Ø×'Ò'Ñ)Ô)Ð)Ø×)Ò)Õ*?ÅÄÈCÑ@PÔ@PÑ*QÔ*QÑRÔRÐRå-¨f¬nÑ=Ô=ñ ,PÝÔ%×4Ò4ØœŸšÐ%<Ñ=Ô=ÐCÀñô ð õ Ô5°xÀ°oÑFÔFÐFà $�IÝ4Ñ6Ô6ð 2ð 2Ø$'¤M˜	ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ $Ô*×5Ò5Ø2;Ð2CÐ.Ð.Èà'­Ô)9Ø+­]Ô-AØ8Õ:KÔ:PÝ$Ô9¸3¼6Ý$Ô?ÀÄð$ð %)ð 6ñ 
ô 
ð Pð Ø$Ð0Ø ×.Ò.­xÔ/JÈIÑVÔVÐVà,˜_¨T°3¸ÐOÀÐOÐOÐOÈÐOÐO˜ðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Pøõ  #1ØœŸšÐ%<Ñ=Ô=ÐCÀÝÔ+Ø.Ý0Ô5Ý,Ô3ð#ñ #ô #�Kõ 5Ñ6Ô6ð 9ð 9Ø+.¬=˜Ô(ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9õ $Ô5Ø#Ø19¸3°ðñ ô ð Pð ØŸš¥hÔ&IÈ5Ì:ÑVÔVÐVà,˜_¨T°3¸ÐOÀÐOÐOÐOÈÐOÐO˜ðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð PðU0Pð 0Pð 0Pñ 0Pô 0Pð 0Pð 0Pð 0Pð 0Pð 0Pð 0Pøøøð 0Pð 0Pð 0Pð 0Pðd Œ}ð 0õ Ô%Ñ'Ô'×-Ò-Ñ/Ô/Ð/àˆIs¥   ÁB=KÄD!ÄKÄ!D%	Ä%KÄ(D%	Ä)A/KÆ1GÇ	KÇG	ÇKÇG	ÇAKÈ;IÉKÉI	ÉKÉI	ÉKÉ74J7Ê+KÊ7J;	Ê;KÊ>J;	Ê?KËKËKr   Úexc_infoc                 óÀ   •— t          |d¦  «        o|j        o
|j        dk    }|j        t          j        k    p|j        }|r|st          |¦  «          ‰| |g|¢R i |¤ŽS )NÚretries_leftr   )Úhasattrr\   Ú_statusr   ÚFAILEDÚ	is_failedÚ_capture_exception)r(   r)   rZ   r,   ÚretryÚfailedÚold_handle_exceptions         €rX   Úsentry_patched_handle_exceptionzARqIntegration.setup_once.<locals>.sentry_patched_handle_exception‰   sŠ   ø€ õ ˜˜^Ñ,Ô,ð )ØÔ$ð)àÔ$ qÒ(ð ð
 ”[¥IÔ$4Ò4ÐE¸¼ˆFØð -˜eð -Ý" 8Ñ,Ô,Ð,à'Ð'¨¨cÐG°HÐGÐGÐGÀÐGÐGÐGó    c                 óF  •— t          j        ¦   «         }|                     t          ¦  «        €
 ‰| |fi |¤ŽS t          j        ¦   «         }t          |j        ¦  «        r|j        n|j        }|�)t          | 
                    ¦   «         ¦  «        |j        d<    ‰| |fi |¤ŽS )Nr.   )r7   r8   r9   r$   Úget_current_scoper   r@   Ústreamed_spanrT   ÚdictÚiter_trace_propagation_headersrB   )r(   r)   r,   rR   rS   rT   Úold_enqueue_jobs         €rX   Úsentry_patched_enqueue_jobz<RqIntegration.setup_once.<locals>.sentry_patched_enqueue_job›   s¿   ø€ õ  Ô*Ñ,Ô,ˆFØ×%Ò%¥mÑ4Ô4Ð<Ø&� t¨SÐ;Ð;°FÐ;Ð;Ð;åÔ0Ñ2Ô2ˆEõ .¨f¬nÑ=Ô=ð �Ô#Ð#à”Zð ð
 ÐÝ48Ø×8Ò8Ñ:Ô:ñ5ô 5�”Ð0Ñ1ð #�? 4¨Ð7Ð7°Ð7Ð7Ð7rf   z	rq.worker)
r(   r   r)   r   rZ   r   r,   r   r&   r   )r(   r   r)   r   r,   r   r&   r   )r   Ú
RQ_VERSIONr   r$   r   r   r   Ú	functoolsÚwrapsÚboolÚhandle_exceptionr   Úenqueue_jobr	   )ÚversionÚ
worker_clsrY   re   rm   rl   rd   rW   s        @@@rX   Ú
setup_oncezRqIntegration.setup_once6   s†  øøø€ å¥
Ñ+Ô+ˆÝ�}¨gÑ6Ô6Ð6õ $.Ð#9•Z�Z½vˆ
à$Ô0ˆå	Œ˜Ñ	)Ô	)ð?	Øð?	Ø#ð?	Ø,3ð?	Ø<Að?	ØMRð?	åð?	ð ?	ð ?	ð ?	ð ?	ñ 
*Ô	)ð?	ðB "<ˆ
Ôà)Ô:Ðð	HØð	HØ!&ð	HØ38ð	HØDIð	Hàð	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 'Fˆ
Ô#åÔ+ˆå	Œ˜Ñ	)Ô	)ð	8Øð	8Ø %ð	8Ø16ð	8àð	8ð 	8ð 	8ð 	8ð 	8ñ 
*Ô	)ð	8ð( 7�Ôå�kÑ"Ô"Ð"Ð"Ð"rf   )r&   N)Ú__name__Ú
__module__Ú__qualname__Ú
identifierr5   Ústaticmethodrv   © rf   rX   r$   r$   2   sJ   € € € € € Ø€JØ'˜:Ð'Ð'€Fàð{#ð {#ð {#ñ „\ð{#ð {#ð {#rf   r$   Úweak_jobúCallable[[], Job]r&   r!   c                 ó   ‡ — dˆ fd„}|S )NÚeventr    Úhintúdict[str, Any]r&   c                 óø  •—  ‰¦   «         }|��t          ¦   «         5  |                      di ¦  «        }|j        |j        |j        dœ}t          j        ¦   «         j        }t          |¦  «        r#|d         d         r|j	        |d<   |j
        |d<   n7t          ¦   «         r|j	        |d<   |j
        |d<   nt          |d<   t          |d<   |j        rt          |j        ¦  «        |d<   |j        rt          |j        ¦  «        |d<   ||d	<   d d d ¦  «         n# 1 swxY w Y   d
|v rTt          ¦   «         5  t!          |d
         d         t"          ¦  «        rdd|j        g| d<   d d d ¦  «         n# 1 swxY w Y   | S )NÚextra)Újob_idÚfuncÚdescriptionÚdata_collectionÚqueuesr+   r,   Úenqueued_atÚ
started_atzrq-jobrZ   r   r%   r   Úfingerprint)r   Ú
setdefaultrJ   rE   r‡   r7   r8   r@   r   r+   r,   r   r   rŠ   r   r‹   Ú
issubclassr   )r€   r�   r)   r„   r/   Úclient_optionsr}   s         €rX   Úevent_processorz._make_event_processor.<locals>.event_processor¶   s.  ø€ Øˆh‰jŒjˆØ‰?Ý,Ñ.Ô.ð )ð )Ø×(Ò(¨°"Ñ5Ô5�à!œfØœMØ#&¤?ðð �õ ",Ô!6Ñ!8Ô!8Ô!@�Ý.¨~Ñ>Ô>ð 	AØ%Ð&7Ô8¸ÔBð 6Ø),¬˜˜v™Ø+.¬:˜˜xÑ(øÝ,Ñ.Ô.ð AØ%(¤X�F˜6‘NØ'*¤z�F˜8Ñ$Ð$å%>�F˜6‘NÝ'@�F˜8Ñ$à”?ð NÝ,<¸S¼_Ñ,MÔ,M�F˜=Ñ)Ø”>ð LÝ+;¸C¼NÑ+KÔ+K�F˜<Ñ(à"(��h‘ð3)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð6 ˜ÐÐÝ,Ñ.Ô.ð Xð XÝ˜d :Ô.¨qÔ1Õ3FÑGÔGð XØ,0Ð2GÈÌÐ+W�E˜-Ñ(ðXð Xð Xñ Xô Xð Xð Xð Xð Xð Xð Xøøøð Xð Xð Xð Xð ˆs$   �C.DÄDÄDÄ4/E/Å/E3Å6E3)r€   r    r�   r‚   r&   r    r|   )r}   r�   s   ` rX   r=   r=   µ   s*   ø€ ð#ð #ð #ð #ð #ð #ðJ Ðrf   rZ   r"   r,   r   c                 ó’   — t          j        ¦   «         }t          | |j        dddœ¬¦  «        \  }}t          j        ||¬¦  «         d S )Nr%   F)ÚtypeÚhandled)r�   Ú	mechanism)r�   )r7   r8   r   r@   Úcapture_event)rZ   r,   rR   r€   r�   s        rX   ra   ra   Þ   sY   € ÝÔ"Ñ$Ô$€Få&ØØ”~Ø¨EÐ2Ð2ðñ ô �K€Eˆ4õ Ô˜U¨Ð.Ñ.Ô.Ð.Ð.Ð.rf   )r}   r~   r&   r!   )rZ   r"   r,   r   r&   N)8ro   r>   r7   Úsentry_sdk.apir   Úsentry_sdk.constsr   r   Úsentry_sdk.integrationsr   r   r   Úsentry_sdk.integrations.loggingr	   Úsentry_sdk.scoper
   r   Úsentry_sdk.tracesr   Úsentry_sdk.tracingr   Úsentry_sdk.tracing_utilsr   Úsentry_sdk.utilsr   r   r   r   r   r   Úrq.jobr   Úrq.queuer   Úrq.timeoutsr   Ú
rq.versionr   rn   Ú	rq.workerr   ÚImportErrorr   r]   Útypingr   r   r   r   Úsentry_sdk._typesr    r!   r"   r$   r=   ra   r|   rf   rX   ú<module>r§      s×  ðØ Ð Ð Ð Ø €€€à Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UØ 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø /Ð /Ð /Ð /Ð /Ð /Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð+Ø Ð Ð Ð Ð Ð ØÐÐÐÐÐØ/Ð/Ð/Ð/Ð/Ð/Ø0Ð0Ð0Ð0Ð0Ð0Ø Ð Ð Ð Ð Ð Ð øØð +ð +ð +Ø
ˆ,Ð)Ñ
*Ô
*Ð*ð+øøøðØ$Ð$Ð$Ð$Ð$Ð$àˆ7�:˜}Ñ-Ô-ð Øˆ
øøØð ð ð Ø€J€J€Jðøøøð !Ð  Ð  Ð  Ð  Ð  àð )Ø$Ð$Ð$Ð$Ð$Ð$Ð$Ð$àÐÐÐÐÐà7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ø(Ð(Ð(Ð(Ð(Ð(ð@#ð @#ð @#ð @#ð @#�Kñ @#ô @#ð @#ðF&ð &ð &ð &ðR	/ð 	/ð 	/ð 	/ð 	/ð 	/s   ÁA5 Á5BÂ
B ÂB)Â(B)