Ë
    S>{i÷  ã                   ó¨  — d dl mZ d dl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mZ d d	lmZ d d
lmZmZ d dlmZmZmZmZ 	 d dlZd dlmZ d dlm Z  d dlm!Z!m"Z"m#Z#m$Z$ er0d dl&m'Z'm(Z(m)Z)m*Z* d dlm+Z+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dlm5Z5 e!e"e#fZ6 G d„ de«      Z7d„ Z8d„ Z9d„ Z:d„ Z;d„ Z<d„ Z=d„ Z>d„ Z?y# e%$ r	  ed«      ‚w xY w) é    )Úabsolute_importN)Úreraise)ÚTYPE_CHECKING)ÚHub)ÚOP)Ú_should_send_default_pii)ÚDidNotEnableÚIntegration)Úignore_logger)ÚTransactionÚTRANSACTION_SOURCE_TASK)Úcapture_internal_exceptionsÚevent_from_exceptionÚSENSITIVE_DATA_SUBSTITUTEÚparse_version)ÚVERSION)ÚArqRedis)ÚJobExecutionFailedÚRetryÚRetryJobÚWorkerzArq is not installed)ÚAnyÚDictÚOptionalÚUnion)ÚEventProcessorÚEventÚExcInfoÚHint)ÚCronJob)ÚJob)ÚWorkerCoroutine)ÚFunctionc                   ó    — e Zd ZdZed„ «       Zy)ÚArqIntegrationÚarqc                  óT  — 	 t        t        t        «      rt        t        «      } nt        j                  d d } | €t        dj                  t        «      «      ‚| dk  rt        d«      ‚t        «        t        «        t        «        t        d«       y # t
        t        f$ r d } Y Œmw xY w)Né   zUnparsable arq version: {})r   é   zarq 0.23 or newer required.z
arq.worker)Ú
isinstanceÚARQ_VERSIONÚstrr   ÚversionÚ	TypeErrorÚ
ValueErrorr	   ÚformatÚpatch_enqueue_jobÚpatch_run_jobÚpatch_create_workerr   )r-   s    úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sentry_sdk/integrations/arq.pyÚ
setup_oncezArqIntegration.setup_once,   s“   € ð	Üœ+¤sÔ+Ü'¬Ó4‘ä%×-Ñ-¨b¨qÐ1�ð
 ˆ?ÜÐ;×BÑBÄ;ÓOÓPÐPà�WÒÜÐ<Ó=Ð=äÔÜŒÜÔä�lÕ#øô œ:Ð&ò 	ØŠGð	ús   ‚7B ÂB'Â&B'N)Ú__name__Ú
__module__Ú__qualname__Ú
identifierÚstaticmethodr5   © ó    r4   r%   r%   )   s   „ Ø€Jàñ$ó ñ$r<   r%   c                  óF   ‡— t         j                  Šˆfd„} | t         _        y )Nc              Ÿ   ó   •K  — t         j                  }|j                  t        «      € ‰| |g|¢­i |¤Žƒ d {  –—† S |j	                  t
        j                  |¬«      5   ‰| |g|¢­i |¤Žƒ d {  –—† cd d d «       S 7 ŒD7 Œ# 1 sw Y   y xY w­w)N)ÚopÚdescription)r   ÚcurrentÚget_integrationr%   Ú
start_spanr   ÚQUEUE_SUBMIT_ARQ)ÚselfÚfunctionÚargsÚkwargsÚhubÚold_enqueue_jobs        €r4   Ú_sentry_enqueue_jobz.patch_enqueue_job.<locals>._sentry_enqueue_jobJ   s”   øè ø€ ä�k‰kˆà×Ñœ~Ó.Ð6Ù(¨¨xÐI¸$ÒIÀ&ÑI×IÐIà�^‰^œr×2Ñ2Àˆ^ÓIñ 	JÙ(¨¨xÐI¸$ÒIÀ&ÑI×I÷	Jñ 	Jð Jøð Jø÷	Jð 	Jüs9   ƒ6B¹A>º%BÁBÁ0B Á1BÁ4BÂ BÂBÂB)r   Úenqueue_job)rK   rJ   s    @r4   r1   r1   F   s   ø€ ä×*Ñ*€OôJð /„HÕr<   c                  óF   ‡— t         j                  Šˆfd„} | t         _        y )Nc              “   óÖ  •K  — t        t         j                  «      }|j                  t        «      € ‰| ||«      ƒ d {  –—† S |j	                  «       5 }d|_        |j                  «        t        ddt        j                  t        ¬«      }|j                  |«      5   ‰| ||«      ƒ d {  –—† cd d d «       cd d d «       S 7 Œƒ7 Œ# 1 sw Y   nxY w	 d d d «       y # 1 sw Y   y xY w­w)Nr&   zunknown arq taskÚok)ÚnameÚstatusr?   Úsource)r   rA   rB   r%   Ú
push_scopeÚ_nameÚclear_breadcrumbsr   r   ÚQUEUE_TASK_ARQr   Ústart_transaction)rE   Újob_idÚscorerI   ÚscopeÚtransactionÚold_run_jobs         €r4   Ú_sentry_run_jobz&patch_run_job.<locals>._sentry_run_job[   sÛ   øè ø€ ä”#—+‘+Óˆà×Ñœ~Ó.Ð6Ù$ T¨6°5Ó9×9Ð9à�^‰^Óð 	> ØˆEŒKØ×#Ñ#Ô%ä%Ø'ØÜ×$Ñ$Ü.ô	ˆKð ×&Ñ& {Ó3ñ >Ù(¨¨v°uÓ=×=÷>ð >÷	>ñ 	>ð :øð >ø÷>ð >úð >÷	>÷ 	>ñ 	>üsY   ƒ<C)¿CÁ C)ÁA
CÂCÂ,CÂ-CÂ0	CÂ9C)ÃCÃC	ÃCÃ	C)ÃC&Ã"C))r   Úrun_job)r]   r\   s    @r4   r2   r2   W   s   ø€ ä—.‘.€Kô>ð* %„F…Nr<   c                 óª  — t         j                  }|j                  j                  �V| d   t        v r&|j                  j                  j                  d«       y |j                  j                  j                  d«       t        | |j                  r|j                  j                  nd t        j                  ddœ¬«      \  }}|j                  ||¬«       y )Nr   ÚabortedÚinternal_errorF)ÚtypeÚhandled)Úclient_optionsÚ	mechanism)Úhint)r   rA   rZ   r[   ÚARQ_CONTROL_FLOW_EXCEPTIONSÚ
set_statusr   ÚclientÚoptionsr%   r9   Úcapture_event)Úexc_inforI   Úeventrf   s       r4   Ú_capture_exceptionrn   s   s¥   € ä
�+‰+€Cà
‡y�y×ÑÐ(Ø�A‰;Ô5Ñ5Ø�I‰I×!Ñ!×,Ñ,¨YÔ7Øà�	‰	×Ñ×(Ñ(Ð)9Ô:ä&ØØ-0¯ZªZ�s—z‘z×)Ò)¸TÜ)×4Ñ4ÀÑGô�K€Eˆ4ð
 ×Ñ�e $ÐÕ'r<   c                 ó   ‡ ‡‡— ˆˆ ˆfd„}|S )Nc                 ó®  •— t         j                  }t        «       5  |j                  j                  �&‰d   |j                  j                  _        ‰d   | d<   | j                  di «      }‰d   |d<   ‰d   dkD  |d<   | j                  d	i «      }‰d   t        «       r‰nt        t        «       r‰nt        ‰d   d
œ|d<   d d d «       | S # 1 sw Y   | S xY w)NÚjob_namer[   ÚtagsrX   Úarq_task_idÚjob_tryé   Úarq_task_retryÚextra)ÚtaskrG   rH   Úretryzarq-job)	r   rA   r   rZ   r[   rP   Ú
setdefaultr   r   )rm   rf   rI   rr   rw   rG   ÚctxrH   s        €€€r4   Úevent_processorz._make_event_processor.<locals>.event_processorˆ   sâ   ø€ ô �k‰kˆä(Ó*ñ 	Ø�y‰y×$Ñ$Ð0Ø-0°©_�—	‘	×%Ñ%Ô*Ø'*¨:¡��mÑ$à×#Ñ# F¨BÓ/ˆDØ"% h¡-ˆD�ÑØ%(¨¡^°aÑ%7ˆDÐ!Ñ"Ø×$Ñ$ W¨bÓ1ˆEà˜J™ä+Ô-ñ ä.ä+Ô-ñ !ä.Ø˜Y™ñ	 ˆE�)Ñ÷	ð( ˆ÷)	ð( ˆús   œB$C
Ã
Cr;   )r{   rG   rH   r|   s   ``` r4   Ú_make_event_processorr}   †   s   ú€ öð6 Ðr<   c                 ó   ‡ ‡— ˆˆ fd„}|S )Nc              Ÿ   óv  •K  — t         j                  }|j                  t        «      € ‰|i |¤Žƒ d {  –—† S |j                  j                  t        i | ¥d‰i¥g|¢­i |¤Ž«       	  ‰| g|¢­i |¤Žƒ d {  –—† }|S 7 ŒI7 Œ# t        $ r+ t        j                  «       }t        |«       t        |Ž  Y S w xY w­w)Nrq   )r   rA   rB   r%   rZ   Úadd_event_processorr}   Ú	ExceptionÚsysrl   rn   r   )r{   rG   rH   rI   Úresultrl   Ú	coroutinerP   s         €€r4   Ú_sentry_coroutinez*_wrap_coroutine.<locals>._sentry_coroutine¨   sÁ   øè ø€ ä�k‰kˆØ×Ñœ~Ó.Ð6Ù" DÐ3¨FÑ3×3Ð3à�	‰	×%Ñ%Ü!Ð"; SÐ";¨*°dÑ";ÐM¸dÒMÀfÑMô	
ð	Ù$ SÐ:¨4Ò:°6Ñ:×:ˆFð ˆð 4øð ;ùÜò 	Ü—|‘|“~ˆHÜ˜xÔ(Ü�XÒàˆð	üsE   ƒ1B9´A>µ2B9Á(B Á7B Á8B Á<B9Â B Â0B6Â2B9Â5B6Â6B9r;   )rP   r„   r…   s   `` r4   Ú_wrap_coroutiner†   ¦   s   ù€ õð& Ðr<   c                  ón   ‡— t         j                  j                  Šˆfd„} | t         j                  _        y )Nc                  óü  •— t         j                  }|j                  t        «      € ‰| i |¤ŽS | d   }t	        |d«      r(|j
                  D �cg c]  }t        |«      ‘Œ c}|_        t	        |d«      r(|j                  D �cg c]  }t        |«      ‘Œ c}|_        d|v r|d   D �cg c]  }t        |«      ‘Œ c}|d<   d|v r|d   D �cg c]  }t        |«      ‘Œ c}|d<    ‰| i |¤ŽS c c}w c c}w c c}w c c}w )Nr   Ú	functionsÚ	cron_jobs)	r   rA   rB   r%   Úhasattrr‰   Ú_get_arq_functionrŠ   Ú_get_arq_cron_job)rG   rH   rI   Úsettings_clsÚfuncÚcron_jobÚold_create_workers         €r4   Ú_sentry_create_workerz2patch_create_worker.<locals>._sentry_create_workerÂ   s  ø€ ä�k‰kˆà×Ñœ~Ó.Ð6Ù$ dÐ5¨fÑ5Ð5à˜A‘wˆä�< Ô-à4@×4JÑ4Jö&Ø,0Ô! $Õ'ò&ˆLÔ"ô �< Ô-à<H×<RÑ<Rö&Ø08Ô! (Õ+ò&ˆLÔ"ð ˜&Ñ à4:¸;Ñ4Gö#Ø,0Ô! $Õ'ò#ˆF�;Ñð ˜&Ñ à<BÀ;Ñ<Oö#Ø08Ô! (Õ+ò#ˆF�;Ññ ! $Ð1¨&Ñ1Ð1ùò#&ùò&ùò
#ùò#s   ÁC*ÂC/Â'C4Ã
C9)r&   ÚworkerÚcreate_worker)r’   r‘   s    @r4   r3   r3   ¾   s&   ø€ äŸ
™
×0Ñ0Ðô2ð:  5„C‡J�JÕr<   c                 óŽ   — t         j                  j                  | «      }t        |j                  |j
                  «      |_        |S ©N)r&   r“   r�   r†   rP   r„   )r�   Úarq_funcs     r4   rŒ   rŒ   â   s2   € ä�z‰z�‰˜tÓ$€HÜ(¨¯©¸×8JÑ8JÓK€HÔà€Or<   c                 óP   — t        | j                  | j                  «      | _        | S r–   )r†   rP   r„   )r�   s    r4   r�   r�   ê   s    € ä(¨¯©¸×8JÑ8JÓK€HÔà€Or<   )@Ú
__future__r   r‚   Úsentry_sdk._compatr   Úsentry_sdk._typesr   Ú
sentry_sdkr   Úsentry_sdk.constsr   Úsentry_sdk.hubr   Úsentry_sdk.integrationsr	   r
   Úsentry_sdk.integrations.loggingr   Úsentry_sdk.tracingr   r   Úsentry_sdk.utilsr   r   r   r   Ú
arq.workerr&   Úarq.versionr   r+   Úarq.connectionsr   r   r   r   r   ÚImportErrorÚtypingr   r   r   r   r   r   r   r   Úarq.cronr    Úarq.jobsr!   Ú
arq.typingr"   r#   rg   r%   r1   r2   rn   r}   r†   r3   rŒ   r�   r;   r<   r4   ú<module>r«      s¿   ðÝ &ã 
å &Ý +Ý Ý  Ý 3ß =Ý 9ß C÷ó ð/ÛÝ2Ý(ßFÓFñ ß1Ó1çFÓFå ÝÝ*Ý#à1°5¸(ÐCÐ ô$�[ô $ò:/ò"%ò8(ò&ò@ò0!5òHóøðc ò /Ù
Ð-Ó
.Ð.ð/ús   ÁC ÃC