
    gh                        S SK r S SKrS SKJrJr  S SKJrJrJr  S SK	J
r
  S SKJr  S SKJrJr  S SKJrJrJrJrJrJr   S SKrS SKJr  S S	KJr  S S
KJrJrJ r J!r!  S SK#J$r$  \$(       a0  S SK#J%r%J&r&J'r'J(r(  S SK)J*r*J+r+J,r,J-r-  S SK.J/r/  S SK0J1r1  S SK2J3r3  S SKJ4r4  \\\ 4r5 " S S\5      r6S r7S r8S r9S r:S r;S r<S r=S r>g! \" a	    \" S5      ef = f)    N)OP
SPANSTATUS)_check_minimum_versionDidNotEnableIntegration)ignore_logger)should_send_default_pii)TransactionTransactionSource)capture_internal_exceptionsensure_integration_enabledevent_from_exceptionSENSITIVE_DATA_SUBSTITUTEparse_versionreraise)VERSION)ArqRedis)JobExecutionFailedRetryRetryJobWorkerzArq is not installed)TYPE_CHECKING)AnyDictOptionalUnion)EventProcessorEventExcInfoHint)CronJob)Job)WorkerCoroutine)Functionc                   2    \ rS rSrSrS\ 3r\S 5       rSrg)ArqIntegration)   arqzauto.queue.c                  "    [        [        [        5      (       a  [        [        5      n O[        R                  S S n  [        [        U 5        [        5         [        5         [        5         [        S5        g ! [
        [        4 a    S n  NNf = f)N   z
arq.worker)
isinstanceARQ_VERSIONstrr   version	TypeError
ValueErrorr   r&   patch_enqueue_jobpatch_run_jobpatch_create_workerr   )r.   s    ^/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/sentry_sdk/integrations/arq.py
setup_onceArqIntegration.setup_once-   sp    	+s++'4%--bq1
 	~w7l# :& 	G	s   (A9 A9 9BB N)	__name__
__module____qualname____firstlineno__
identifieroriginstaticmethodr5   __static_attributes__r7       r4   r&   r&   )   s%    J:,'F$ $r@   r&   c                  l   ^ [         R                  mTR                  n U4S jnXl        U[         l        g )Nc                 T  >#    [         R                  " 5       R                  [        5      nUc  T" X/UQ70 UD6I S h  vN $ [         R                  " [
        R                  U[        R                  S9   T" X/UQ70 UD6I S h  vN sS S S 5        $  NT N! , (       d  f       g = f7f)N)opnamer=   )
sentry_sdk
get_clientget_integrationr&   
start_spanr   QUEUE_SUBMIT_ARQr=   )selffunctionargskwargsintegrationold_enqueue_jobs        r4   _sentry_enqueue_job.patch_enqueue_job.<locals>._sentry_enqueue_jobH   s      ++-==nM(I$I&III"""".:O:O
 )I$I&II
 
 J
 J
 
s9   ;B(B6B(5BBB	B(B
B%!B()r   enqueue_job__kwdefaults__)original_kwdefaultsrP   rO   s     @r4   r1   r1   C   s0    **O)88	J *=&.Hr@   c                  H   ^ [         R                  mU4S jn U [         l        g )Nc           	         >#    [         R                  " 5       R                  [        5      nUc  T" XU5      I S h  vN $ [         R                  " 5        nSUl        UR                  5         [        SS[        R                  [        R                  [        R                  S9n[         R                  " U5         T" XU5      I S h  vN sS S S 5        sS S S 5        $  N N! , (       d  f       O= f S S S 5        g ! , (       d  f       g = f7f)Nr(   zunknown arq taskok)rD   statusrC   sourcer=   )rE   rF   rG   r&   isolation_scope_nameclear_breadcrumbsr
   r   QUEUE_TASK_ARQr   TASKr=   start_transaction)rJ   job_idscorerN   scopetransactionold_run_jobs         r4   _sentry_run_job&patch_run_job.<locals>._sentry_run_job[   s      ++-==nM$T5999'')UEK##%%'$$(--%,,K --k:(u== ;: *) : > ;:: *))sX   8DCDA%C=:C"C C"	C=D C""
C0	,C=4	D=
DD)r   run_job)re   rd   s    @r4   r2   r2   W   s    ..K>* %FNr@   c                    [         R                  " 5       nUR                  b`  U S   [        ;   a*  UR                  R	                  [
        R                  5        g UR                  R	                  [
        R                  5        [        U [         R                  " 5       R                  [        R                  SS.S9u  p#[         R                  " X#S9  g )Nr   F)typehandled)client_options	mechanism)hint)rE   get_current_scoperc   ARQ_CONTROL_FLOW_EXCEPTIONS
set_statusr   ABORTEDINTERNAL_ERRORr   rF   optionsr&   r<   capture_event)exc_inforb   eventrm   s       r4   _capture_exceptionrw   s   s    ((*E$A;55((););<$$Z%>%>?&!,,.66)44GKE
 U.r@   c                    ^ ^^ UU U4S jnU$ )Nc                   > [        5          [        R                  " 5       nUR                  b  TS   UR                  l        TS   U S'   U R                  S0 5      nTS   US'   TS   S:  US'   U R                  S	0 5      nTS   [        5       (       a  TO[        [        5       (       a  TO[        TS   S
.US'   S S S 5        U $ ! , (       d  f       U $ = f)Njob_namerc   tagsr`   arq_task_idjob_try   arq_task_retryextra)taskrL   rM   retryzarq-job)r   rE   rn   rc   rD   
setdefaultr	   r   )rv   rm   rb   r{   r   rL   ctxrM   s        r4   event_processor._make_event_processor.<locals>.event_processor   s     )*002E  ,),Z!!&'*:m$##FB/D"%h-D%(^a%7D!"$$Wb1EJ355D;T 677F=VY	 E) +* + +** s   B0C
Cr7   )r   rL   rM   r   s   ``` r4   _make_event_processorr      s    4 r@   c                    ^ ^ UU 4S jnU$ )Nc                   >#    [         R                  " 5       R                  [        5      nUc  T" U /UQ70 UD6I S h  vN $ [         R                  " 5       R                  [        0 U EST0E/UQ70 UD65         T" U /UQ70 UD6I S h  vN nU$  NR N! [         a,    [        R                  " 5       n[        U5        [        U6    W$ f = f7f)Nrz   )rE   rF   rG   r&   get_isolation_scopeadd_event_processorr   	Exceptionsysru   rw   r   )r   rL   rM   rN   resultru   	coroutinerD   s         r4   _sentry_coroutine*_wrap_coroutine.<locals>._sentry_coroutine   s      ++-==nM"388888&&(<<!";S";*d";MdMfM	
	$S:4:6::F  9 ; 	||~Hx(X	sE   ;CB;C;B 
BB CB 2CC
CCr7   )rD   r   r   s   `` r4   _wrap_coroutiner      s    & r@   c                     ^ [         R                  R                  m[        [        T5      U4S j5       n U [         R                  l        g )Nc                  .  > U S   n[        U[        5      (       aj  SU;   a/  UR                  S/ 5       Vs/ s H  n[        U5      PM     snUS'   SU;   a/  UR                  S/ 5       Vs/ s H  n[	        U5      PM     snUS'   [        US5      (       a+  UR                   Vs/ s H  n[        U5      PM     snUl        [        US5      (       a4  UR                  =(       d    /  Vs/ s H  n[	        U5      PM     snUl        SU;   a/  UR                  S/ 5       Vs/ s H  n[        U5      PM     snUS'   SU;   a/  UR                  S/ 5       Vs/ s H  n[	        U5      PM     snUS'   T" U 0 UD6$ s  snf s  snf s  snf s  snf s  snf s  snf )Nr   	functions	cron_jobs)r+   dictget_get_arq_function_get_arq_cron_jobhasattrr   r   )rL   rM   settings_clsfunccron_jobold_create_workers        r4   _sentry_create_worker2patch_create_worker.<locals>._sentry_create_worker   s    AwlD))l* !- 0 0b A- A &d+ A-[) l* %1$4$4["$E-$E &h/$E-[)
 <--4@4J4J&4JD!$'4J&L" <-- ".!7!7!=2!=&!=H "(+!=&L"
 & 4:JJ{B4O#4OD!$'4O#F; & <BJJ{TV<W#<W!(+<W#F; !$1&11;-
-&&##s#   E9+E>%F*F!FF)r(   workercreate_workerr   r&   )r   r   s    @r4   r3   r3      s=    

000AB#2 C#2J  5CJJr@   c                     [         R                  R                  U 5      n[        UR                  UR
                  5      Ul        U$ N)r(   r   r   r   rD   r   )r   arq_funcs     r4   r   r      s2    zzt$H(8J8JKHOr@   c                 P    [        U R                  U R                  5      U l        U $ r   )r   rD   r   )r   s    r4   r   r      s     (8J8JKHOr@   )?r   rE   sentry_sdk.constsr   r   sentry_sdk.integrationsr   r   r   sentry_sdk.integrations.loggingr   sentry_sdk.scoper	   sentry_sdk.tracingr
   r   sentry_sdk.utilsr   r   r   r   r   r   
arq.workerr(   arq.versionr   r,   arq.connectionsr   r   r   r   r   ImportErrortypingr   r   r   r   r   sentry_sdk._typesr   r   r   r    arq.cronr!   arq.jobsr"   
arq.typingr#   r$   ro   r&   r1   r2   rw   r   r   r3   r   r   r7   r@   r4   <module>r      s    
  , U U 9 4 = /2(FF !11FF *#15(C $[ $4/(%8/&>2*5Zy  /
-
../s    C C