
    `f]j                     r   d 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 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 ddlmZmZmZ ddlmZ ddlmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ ddl%mZ& ddl'm(Z(m)Z)m*Z* ddl+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2m3Z3m4Z4 ddl5m6Z6 dZ7 e8ed          Z9 e,e:          Z;e;j<        e;j=        e;j>        e;j?        f\  Z<Z=Z@Z?daAdaBd ZC eC             e4jD        ZDejE        jF        ZGejH        jF        ZIe6jJ        ZJe6jK        ZKe6jL        ZMe6jN        ZN G d d          ZOeeMeKdefdZPdS )zfTask request.

This module defines the :class:`Request` class, that specifies
how tasks are executed.
    N)datetime)	monotonictime)ref)TERM_SIGNAME)ExceptionWithTraceback)	safe_reprsafe_str)cached_property)current_appsignals)Context)fast_trace_task
trace_tasktrace_task_ret)BasePool)IgnoreInvalidTaskErrorRejectRetryTaskRevokedError
TerminatedTimeLimitExceededWorkerLostError)r   )maybe
maybe_listnoop)
get_logger)gethostname)get_pickled_exception)maybe_iso8601maybe_make_awaretimezone   )state)Requestpypy_version_infoFc                      t                               t          j                  at                               t          j                  ad S N)loggerisEnabledForloggingDEBUG_does_debugINFO
_does_info     G/var/www/html/env/lib/python3.11/site-packages/celery/worker/request.py__optimize__r4   .   s2     %%gm44K$$W\22JJJr2   c                      e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZesdZeddddddeddddeefdZed             Zed	             Zed
             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Zed             Z ed             Z!ed             Z"ed             Z#ed             Z$e$j%        d             Z$ed             Z&ed             Z'ed             Z(e(j%        d             Z(ed             Z)ed             Z*ed              Z+ed!             Z,e,j%        d"             Z,ed#             Z-ed$             Z.ed%             Z/e/j%        d&             Z/ed'             Z0e0j%        d(             Z0ed)             Z1ed*             Z2ed+             Z3ed,e4fd-            Z5ed,e6fd.            Z7ed/             Z8d0e9fd1Z:dd2Z;d3 Z<dKd4Z=dKd5Z>d6 Z?d7 Z@d8 ZAd9 ZBd: ZCd; ZDd< ZEd= ZFdLd>ZGd? ZHdMd@ZIdMdAZJdB ZKdC ZLdD ZMeNdE             ZOeNdF             ZPeNdG             ZQeNdH             ZReNdI             ZSeNdJ             ZTdS )Nr&   zA request for task execution.FN)NN)_app_typenameid_root_id
_parent_id_on_ack_body	_hostname_eventer_connection_errors_task_eta_expires_request_dict
_on_reject_utc_content_type_content_encoding	_argsrepr_kwargsrepr_args_kwargs_decoded	__payload__weakref____dict__Tc                    || _         ||j                                        n|                                | _        |
|j        n|
| _        || _        || _        || _        |rd x| _	        | _
        n|j        |j        c| _	        | _
        | j        r| j        n|j        | _        | j        d         | _        | j        d         x| _        | _        d| j        v r| j        d         p| j        | _        | j                            d          | _        | j                            d          | _        | j                            dd           }|r|| _        | j                            dd          | _        | j                            d	d          | _        || _        |	| _        |pt5                      | _        || _        |pd
| _        |p| j        j        | j                 | _        | j                            dd          | _         | j                            d          }|X	  ||          }n4# tB          tD          tF          f$ r}tI          d|d|           d }~ww xY w ||| j%                  | _&        nd | _&        | j                            d          }|X	  ||          }n4# tB          tD          tF          f$ r}tI          d|d|           d }~ww xY w ||| j%                  | _'        nd | _'        |j(        pi }|j)        pi }|                    d          |                    d          |                    d          |                    dd          d| _*        | j        +                    ||                    d          |                    d          | j        | j*        d           | j        \  | j        d<   | j        d<   }| j        d         | _,        | j        d         | _-        d S )Nr9   taskshadowroot_id	parent_id	timelimitargsrepr 
kwargsreprr1   ignore_resultFetazinvalid ETA value z: expireszinvalid expires value exchangerouting_keypriorityredelivered)r]   r^   r_   r`   reply_tocorrelation_id)
propertiesra   rb   hostnamedelivery_infoargskwargs)._messageheaderscopyrD   bodyr=   r6   rF   rM   rG   rH   content_typecontent_encodingpayload_Request__payloadr9   r7   r8   getr:   r;   time_limitsrI   rJ   r<   rE   r   r>   r?   r@   tasksrA   _ignore_resultAttributeError
ValueError	TypeErrorr   tzlocalrB   rC   re   rc   _delivery_infoupdaterK   rL   )selfmessageon_ackrd   eventerappconnection_errorsrequest_dictrR   	on_rejectrk   ri   decodedutcr"   r!   optsrV   r[   excr\   re   rc   _s                           r3   __init__zRequest.__init__Z   s/     8?go22444#*<<>> 	%)\W\\t
		 	:>>D!7!7 $g&> 7D 6 (,}I'/$T*!%!3F!;;
TYt)))*84A	DI*..y99,00==&**;==	 	)(D+//
B??-11,CC#!2[]]"3"9r8TY_TZ8
"044_eLL  $$U++?9#mC(("J	: 9 9 9&777#779 9 99 )(dl;;DIIDI$((33A'-00"J	: A A A&?W??#??A A AA -,WdlCCDMM DM-3'-2
%))*55(,,];;"z22(,,]EBB	
 
 	!!$"z22(nn-=>>!0#
 #
 	 	 	 GKnC6"D$6x$@!'/
)(3s0   "H. .IIIJ) )K KKc                     | j         S r)   )rx   rz   s    r3   re   zRequest.delivery_info       ""r2   c                     | j         S r)   )rh   r   s    r3   r{   zRequest.message   
    }r2   c                     | j         S r)   rD   r   s    r3   r   zRequest.request_dict       !!r2   c                     | j         S r)   )r=   r   s    r3   rk   zRequest.body   
    zr2   c                     | j         S r)   )r6   r   s    r3   r~   zRequest.app   
    yr2   c                     | j         S r)   )rF   r   s    r3   r   zRequest.utc   r   r2   c                     | j         S r)   )rG   r   s    r3   rl   zRequest.content_type   r   r2   c                     | j         S r)   )rH   r   s    r3   rm   zRequest.content_encoding   s    %%r2   c                     | j         S r)   )r7   r   s    r3   typezRequest.type   r   r2   c                     | j         S r)   )r:   r   s    r3   rT   zRequest.root_id   r   r2   c                     | j         S r)   )r;   r   s    r3   rU   zRequest.parent_id   
    r2   c                     | j         S r)   )rI   r   s    r3   rW   zRequest.argsrepr   
    ~r2   c                     | j         S r)   )rK   r   s    r3   rf   zRequest.args   r   r2   c                     | j         S r)   )rL   r   s    r3   rg   zRequest.kwargs   
    |r2   c                     | j         S r)   )rJ   r   s    r3   rY   zRequest.kwargsrepr   s    r2   c                     | j         S r)   )r<   r   s    r3   r|   zRequest.on_ack   r   r2   c                     | j         S r)   rE   r   s    r3   r   zRequest.on_reject   r   r2   c                     || _         d S r)   r   rz   values     r3   r   zRequest.on_reject   s    r2   c                     | j         S r)   )r>   r   s    r3   rd   zRequest.hostname   r   r2   c                     | j         S r)   )rs   r   s    r3   rZ   zRequest.ignore_result   r   r2   c                     | j         S r)   r?   r   s    r3   r}   zRequest.eventer   r   r2   c                     || _         d S r)   r   )rz   r}   s     r3   r}   zRequest.eventer  s    r2   c                     | j         S r)   )r@   r   s    r3   r   zRequest.connection_errors  s    &&r2   c                     | j         S r)   )rA   r   s    r3   rR   zRequest.task
  r   r2   c                     | j         S r)   )rB   r   s    r3   r[   zRequest.eta  r   r2   c                     | j         S r)   rC   r   s    r3   r\   zRequest.expires  r   r2   c                     || _         d S r)   r   r   s     r3   r\   zRequest.expires  s    r2   c                 J    | j         | j        j        j        | _         | j         S r)   )_tzlocalr6   confr#   r   s    r3   rw   zRequest.tzlocal  s     =  IN3DM}r2   c                 4    | j         j         p| j         j        S r)   )rR   rZ   store_errors_even_if_ignoredr   s    r3   store_errorszRequest.store_errors   s    I++ 7	6	8r2   c                     | j         S r)   r9   r   s    r3   task_idzRequest.task_id%  s     wr2   c                     || _         d S r)   r   r   s     r3   r   zRequest.task_id*  s    r2   c                     | j         S r)   r8   r   s    r3   	task_namezRequest.task_name.  s     yr2   c                     || _         d S r)   r   r   s     r3   r   zRequest.task_name3  s    			r2   c                     | j         d         S )Nra   r   r   s    r3   ra   zRequest.reply_to7  s     !*--r2   c                 8    | j                             dd          S )Nreplaced_task_nestingr   rD   rp   r   s    r3   r   zRequest.replaced_task_nesting<  s    !%%&=qAAAr2   c                 8    | j                             dg           S )Ngroupsr   r   s    r3   r   zRequest.groups@  s    !%%h333r2   returnc                 :    | j                             d          pg S )Nstamped_headersr   r   s    r3   r   zRequest.stamped_headersD  s    !%%&788>B>r2   c                 b    | j                             d          pi fd| j        D             S )Nstampsc                 <    i | ]}|                     |          S r1   )rp   ).0headerr   s     r3   
<dictcomp>z"Request.stamps.<locals>.<dictcomp>K  s'    NNNv

6**NNNr2   )rD   rp   r   )rz   r   s    @r3   r   zRequest.stampsH  s;    #''117RNNNN9MNNNNr2   c                     | j         d         S )Nrb   r   r   s    r3   rb   zRequest.correlation_idM  s     !"233r2   poolc                    | j         }| j        }|                                 rt          |          | j        \  }}| j        j        rt          nt          }|	                    || j
        || j        | j        | j        | j        f| j        | j        | j        | j        |p|j        |p|j        |	  	        }t+          t,          |          | _        |S )a  Used by the worker to send this task to the pool.

        Arguments:
            pool (~celery.concurrency.base.TaskPool): The execution pool
                used to execute this request.

        Raises:
            celery.exceptions.TaskRevokedError: if the task was revoked.
        rf   accept_callbacktimeout_callbackcallbackerror_callbacksoft_timeouttimeoutrb   )r9   rA   revokedr   rq   r6   use_fast_trace_taskr   r   apply_asyncr7   rD   r=   rG   rH   on_accepted
on_timeout
on_success
on_failuresoft_time_limit
time_limitr   r   _apply_result)	rz   r   rg   r   rR   r   r   traceresults	            r3   execute_using_poolzRequest.execute_using_poolR  s     'z<<>> 	,"7+++&*&6#
O#'9#@Tn!!*gt'94:$d&<> ,!__?(@D,@1$/" " 
 
 #3//r2   c           
         |                                  rdS | j        j        s|                                  | j        \  }}}| j        } |j        ||ddfi |pi  t          | j        | j        | j	        | j
        || j        | j        j        | j                  \  }}}}|r|                     d           n|                                  |S )zExecute the task in a :func:`~celery.app.trace.trace_task`.

        Arguments:
            loglevel (int): The loglevel used by the task.
            logfile (str): The logfile used by the task.
        NF)loglevellogfileis_eager)rd   loaderr~   requeue)r   rR   	acks_lateacknowledge_payloadrD   ry   r   r9   rK   rL   r>   r6   r   reject)rz   r   r   r   embedrequestretvalIs           r3   executezRequest.executes  s    <<>> 	F y" 	m1e$ 	 
 
 	 	 [b		 	 	 %TYT\SZ.2nTYEU)-4 4 41a  	KKK&&&&r2   c                     | j         rJt          j        | j         j                  }|| j         k    r#t                              | j                   dS dS dS )z%If expired, mark the task as revoked.TN)r\   r   nowtzinforevoked_tasksaddr9   )rz   r   s     r3   maybe_expirezRequest.maybe_expire  sX    < 	,t|233CT\!!!!$'***t		 	!!r2   c                 0   t          j        |pt                    }| j        r4|                    | j        |           |                     dd|d           n	||f| _        | j        -|                                 }||	                    |           d S d S d S )N
terminatedTF)
_signalssignumr   
time_startterminate_job
worker_pid_announce_revoked_terminate_on_ackr   	terminaterz   r   signalobjs       r3   r  zRequest.terminate  s    !7<88? 	2t777""<vuEEEE%)6\D")$$&&Cf%%%%% *)r2   c                    t          j        |pt                    }| j        r/|                    | j        |           |                                  | j        -|                                 }||                    |           d S d S d S r)   )	r   r   r   r  r  r  _announce_cancelledr   r  r  s       r3   cancelzRequest.cancel  s    !7<88? 	't777$$&&&)$$&&Cf%%%%% *)r2   c                 j   t          |            |                     d           d}t          |          }| j        j                            | j        || j                   | j                            || j        | j	        | j
        d            d| _        t          | j        | j        d            d S )Nztask-cancelledzcancelled by Celery)r{   )r   T)r   einfo)
task_ready
send_eventr   rR   backendmark_as_retryr9   _contexton_retryrf   rg   _already_cancelled
send_retry)rz   reasonr   s      r3   r  zRequest._announce_cancelled  s    4()))&F###	''(+04 	( 	? 	? 	? 		3DKFFF"&49dm4@@@@@@r2   c                 ,   t          |            |                     d|||           | j        j                            | j        || j        | j                   |                                  d| _	        t          | j        | j        |||           d S )Nztask-revoked)r   r   expiredr   store_resultT)r   r   r   r  )r  r  rR   r  mark_as_revokedr9   r  r   r   _already_revokedsend_revoked)rz   r  r   r   r  s        r3   r  zRequest._announce_revoked  s    4#-fg 	 	O 	O 	O	))GVT]* 	* 	
 	
 	
 	 $TY *67	L 	L 	L 	L 	L 	Lr2   c                 r   d}| j         rdS | j        r|                                 }| j        t          v }d\  }}|s| j        r| j        D ]}|t          v rt          |         }| j        j        d         |         }t          |t          t          f          r|D ]}|t          |          v rd}||i} nn(t          |t          |          v ||k    g          }||i} nt          |||f          rEd}	|r|	d|z  z  }	t          |	| j        | j                   |                     |rdnddd	|           dS dS )
z%If revoked, skip task and mark state.FT)FNr   zDiscarding revoked task: %s[%s]z (revoked by header: %s)r  r   N)r  r\   r   r9   r   r   revoked_stampsrh   ri   
isinstancelisttupler   anyinfor8   r  )
rz   r  revoked_by_idrevoked_by_headerrevoking_headerstamprevoked_headerstamped_headerstamped_valuelog_msgs
             r3   r   zRequest.revoked  s     	4< 	*''))G=0-8*? 	!5 	-  N**%3E%:N%)]%:8%DU%KN!.4-@@ B-; & &M,
>0J0JJJ48 138-2H %  K
 -0*j.H.HH*n<1 - -) ,1.*AE! +$ (9:;; 	7G  H5GG$)TW---""$3		)UD'   4ur2   c                     | j         r4| j         j        r*| j        j        r  | j         j        |fd| j        i| d S d S d S d S )Nuuid)r?   enabledrR   send_eventssendr9   )rz   r   fieldss      r3   r  zRequest.send_event  sl    = 	=T]2 	=ty7L 	=DMt<<$'<V<<<<<	= 	= 	= 	= 	= 	=r2   c                 \   || _         t                      t                      |z
  z
  | _        t	          |            | j        j        s|                                  |                     d           t          rt          d| j        | j        |           | j         | j        | j          dS dS )z4Handler called when task is accepted by worker pool.ztask-startedzTask accepted: %s[%s] pid:%rN)r  r   r   r  task_acceptedrR   r   r   r  r.   debugr8   r9   r  r  )rz   pidtime_accepteds      r3   r   zRequest.on_accepted  s    &&IKK-$?@dy" 	''' 	K0$)TWcJJJ!-DND23333 .-r2   c                 ~   |rt          d|| j        | j                   dS t          |            t	          d|| j        | j                   t          |          }| j        j                            | j        || j	        | j
                   | j        j        r"| j        j        r|                                  dS dS dS )z%Handler called if the task times out.z)Soft time limit (%ss) exceeded for %s[%s]z)Hard time limit (%ss) exceeded for %s[%s]r  N)warnr8   r9   r  errorr   rR   r  mark_as_failurer  r   r   acks_on_failure_or_timeoutr   )rz   softr   r   s       r3   r   zRequest.on_timeout	  s     	#<$)TW. . . . . t=49dg/ / /#G,,CI--dm!. .   
 y" #ty'K #  """""# # # #r2   c                 X   |\  }}}|rX|j         }t          |t                    r|j        }t          |t          t
          f          r||                     |d          S t          | d           | j        j	        r| 
                                 |                     d||           dS )z6Handler called if the task was successfully processed.T	return_ok)
successfultask-succeededr   runtimeN)	exceptionr!  r   r   
SystemExitKeyboardInterruptr   r  rR   r   r   r  )rz   failed__retval__runtimerg   failedr   rE  r   s          r3   r   zRequest.on_success  s    "9 	;"C#566 g#
,=>?? 	??6T?:::4D))))9 	(IIIIIr2   c                     | j         j        r|                                  |                     dt	          |j        j                  t          |j                             dS )z-Handler called if the task should be retried.ztask-retriedrF  	tracebackN)	rR   r   r   r  r	   rF  r   r
   rM  )rz   exc_infos     r3   r  zRequest.on_retry-  sl    9 	"+H,>,B"C"C"*8+=">"> 	 	@ 	@ 	@ 	@ 	@r2   c           	         t          |            |j        }t          |t                    r|j        }t          |t
                    }|r5| j        s,| j        s%|                     ddt          |          d           dS t          |t                    rt          d|           t          |t                    r|                     |j                  S t          |t                    r|                                 S t          |t                     r|                     |          S d}t          |t$                    }| j        j        rd| j        j        o|}| j        j        }	|rd}|                     |           d}n-|	r|                                  n|                     d           |su|s|sq| j        j                            | j        || j        | j                   t8          j                            | j        | j        || j        | j         |j!        |           |r<| "                    d	tG          tI          |j                            |j!        
           |stK          d||j&                   dS dS )z/Handler called if the task raised an exception.r   TFNzProcess got: r   r  )senderr   rF  rf   rg   rM  r  ztask-failedrL  zTask handler raised error: %r)rN  )'r  rF  r!  r   r   r   r  r  r  strMemoryErrorr   r   r   r   r   r   r  r   rR   r   reject_on_worker_lostr=  r  r<  r9   r  r   r   task_failurer2  rf   rg   rM  r  r	   r    r;  rN  )
rz   rN  send_failed_eventrA  r   is_terminatedr   is_worker_lostr   acks
             r3   r   zRequest.on_failure6  s   4 c122 	'C"3
33 	+ * 943H 9 && $C%9 9 9F[)) 	+3c33444V$$ 	+;;s{;333V$$ 	+##%%%U## 	+==*** #C999 	+	/   )6C 	+G,,,$)!! +  """" E***  	6N 	6) 	6I--dm!. .   
  %%TY03$)-1[080B,4	 & 6 6 6  	OO#$9(:L$M$MNN",      	.13#,. . . . . .	. 	.r2   c                 f    | j         s)|                     t          | j                   d| _         dS dS )zAcknowledge task.TN)acknowledgedr<   r*   r@   r   s    r3   r   zRequest.acknowledge  s<      	%LL!8999 $D	% 	%r2   c                     | j         sA|                     t          | j        |           d| _         |                     d|           d S d S )NTztask-rejectedr   )rZ  rE   r*   r@   r  )rz   r   s     r3   r   zRequest.reject  sT      	>OOFD$;WEEE $DOOOWO=====	> 	>r2   c                     | j         | j        |s| j        n| j        |s| j        n| j        | j        | j        | j        | j	        | j
        | j        d
S )N)
r9   r8   rf   rg   r   rd   r  rZ  re   r  )r9   r8   rK   rI   rL   rJ   r7   r>   r  rZ  re   r  )rz   safes     r3   r%  zRequest.info  s\    'I&*>DJJ*.DdllD4DJ/ -!//
 
 	
r2   c                 ,    d                     |           S )Nz{0.name}[{0.id}])formatr   s    r3   	humaninfozRequest.humaninfo  s    !((...r2   c                     d                     |                                 | j        rd| j         dnd| j        rd| j         dndg                                          S )z``str(self)``. z ETA:[]rX   z
 expires:[)joinr`  rB   rC   stripr   s    r3   __str__zRequest.__str__  so    xxNN%)Y6!TY!!!!B-1]B)))))
   577		r2   c                     d                     t          |           j        |                                 | j        | j                  S )z``repr(self)``.z<{}: {} {} {}>)r_  r   __name__r`  rI   rJ   r   s    r3   __repr__zRequest.__repr__  s<    &&JJ!1!1ND,
 
 	
r2   c                     | j         S r)   )ro   r   s    r3   r   zRequest._payload  r   r2   c                 B    | j         \  }}}|                    d          S )Nchordr   rp   rz   r   r   s      r3   rl  zRequest.chord  s#     m1eyy!!!r2   c                 B    | j         \  }}}|                    d          S )Nerrbacksrm  rn  s      r3   rp  zRequest.errbacks  s#     m1eyy$$$r2   c                 6    | j                             d          S )Ngroupr   r   s    r3   rr  zRequest.group  s     !%%g...r2   c                 b    | j         }| j        \  }}} |j        di |pi  t          |          S )z9Context (:class:`~celery.app.task.Context`) of this task.r1   )rD   r   ry   r   )rz   r   r   r   s       r3   r  zRequest._context  sE     $ m1e%%"%%%wr2   c                 6    | j                             d          S )Ngroup_indexr   r   s    r3   ru  zRequest.group_index  s     !%%m444r2   r)   )TF)F)Urh  
__module____qualname____doc__rZ  r  r  rq   r  r  r  r   r   IS_PYPY	__slots__r   r"   r!   r   propertyre   r{   r   rk   r~   r   rl   rm   r   rT   rU   rW   rf   rg   rY   r|   r   setterrd   rZ   r}   r   rR   r[   r\   rw   r   r   r   ra   r   r   r"  r   dictr   rb   r   r   r   r   r  r  r  r  r   r  r   r   r   r  r   r   r   r%  r`  rf  ri  r   r   rl  rp  rr  r  ru  r1   r2   r3   r&   r&   C   s       ''LJJKMH 

	 (,$#'ddu$"2,R4 R4 R4 R4h # # X#   X " " X"   X   X   X " " X" & & X&   X   X   X   X   X   X     X    X   X         X # # X#   X ^    ^  ' ' X'   X   X   X ^  ^   X
 8 8 X8   X ^  ^   X    . . X. B B XB 4 4 X4 ? ? ? ? X? O O O O XO 4 4 X4x    B       D  
& 
& 
& 
&	& 	& 	& 	&A A AL L L' ' 'R= = =4 4 4# # #&J J J"@ @ @N. N. N. N.`% % %> > > >
 
 
 
/ / /  
 
 
   _ " " _" % % _% / / _/
     _  5 5 _5 5 5r2   r&   c
           
          |j         |j        |j        |j        |o|j        |	j        rt          nt           G fdd|           }
|
S )Nc                   0    e Zd ZfdZ fdZdS )#create_request_cls.<locals>.Requestc                 0   | j         }|                                 rt          |          | j        \  }} | j        || j        | j        | j        | j        f| j	        | j
        | j        | j        |p|p	|	  	        }t          
|          | _        |S )Nr   )r   r   r   rq   r   r   rk   rl   rm   r   r   r   r   r   r   )rz   r   rg   r   r   r   r   r   default_soft_time_limitdefault_time_limitr   r   s          r3   r   z6create_request_cls.<locals>.Request.execute_using_pool  s    lG||~~ 0&w///*.*:'J [i$*;TY')>@ $ 0!%#,G0G"8&8&  F "'sF!3!3DMr2   c                 B   |\  }}}|rX|j         }t          |t                    r|j        }t          |t          t
          f          r||                     |d          S  	|            r|                                  r|                     d||           d S d S )NTr@  rC  rD  )	rF  r!  r   r   rG  rH  r   r   r  )
rz   rI  rg   rJ  r   rE  r   r   eventsr  s
          r3   r   z.create_request_cls.<locals>.Request.on_success  s    &=#FFG ?&c#9:: "'CcJ0A#BCC Iv>>>Jt #  """ $VW        r2   N)rh  rv  rw  r   r   )r   r   r  r  r  r   r  r   s   r3   r&   r    se        	 	 	 	 	 	 	 	 	.	 	 	 	 	 	 	 	 	r2   r&   )r   r   r   r   r0  r   r   r   )baserR   r   rd   r}   r   r   r  r   r~   r&   r   r   r  r  r  s        ` ``  @@@@@r3   create_request_clsr    s     "2"KI(F}#&#:N* * * * * * * * * * * * * *$ * * *X Nr2   )Qrx  r,   sysr   r   r   weakrefr   billiard.commonr   billiard.einfor   kombu.utils.encodingr	   r
   kombu.utils.objectsr   celeryr   r   celery.app.taskr   celery.app.tracer   r   r   celery.concurrency.baser   celery.exceptionsr   r   r   r   r   r   r   r   celery.platformsr   celery.utils.functionalr   r   r   celery.utils.logr   celery.utils.nodenamesr   celery.utils.serializationr    celery.utils.timer!   r"   r#   rX   r%   __all__hasattrry  rh  r*   r6  r%  warningr;  r:  r0   r.   r4   tz_or_localtask_revokedr2  r  
task_retryr  r5  r  r   r   r   r&   r  r1   r2   r3   <module>r     s!   
  



                             ( ( ( ( ( ( 1 1 1 1 1 1 4 4 4 4 4 4 4 4 / / / / / / ' ' ' ' ' ' ' ' # # # # # # H H H H H H H H H H , , , , , ,C C C C C C C C C C C C C C C C C C C C 0 0 0 0 0 0 ; ; ; ; ; ; ; ; ; ; ' ' ' ' ' ' . . . . . . < < < < < < G G G G G G G G G G      

 '#*
+
+	H		"L&+"NFL: tT5
3 3 3  "#($
#
%X
5 X
5 X
5 X
5 X
5 X
5 X
5 X
5x m",Dk8 8 8 8 8 8r2   