HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/celery/app/__pycache__/trace.cpython-310.pyc
o

-weo� @s�dZddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZmZm
Z
mZmZmZddlmZddlmZmZddlmZddlmZdd	lmZdd
lmZmZddlZddl Zddlm!Z!m"Z"m#Z#m$Z$ddl%m&Z&dd
l'm(Z(ddl'm)Z*ddl+m,Z,m-Z-m.Z.m/Z/m0Z0ddl1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8ddl9m:Z:ddl;m<Z<m=Z=m>Z>dZ?ddl@mAZAe4eB�ZCdZDdZEdZFdZGdZHdZIdZJedd�ZKeKeId ejLd!d!�ZMeKeHd"ejNdd�ZOeKeGd#ejPd!d!�ZQeKeFd$ejNdd�ZReKeFd%ejSd!d!�ZTe#jUjVZWe#jXjVZYe#jZjVZ[e$j\Z\e$j]Z]e$j^Z^e$j_Z_e$j`Z`e$jaZae$jbZbece^e`e_h�ZdgZeiZfed&d'�Zgd(d)�Zhd*d+�Zid,d-�Zjd.d/�ZkGd0d1�d1�ZldUd2d3�Zmddd4eld5d5dejnegedf
d6eod7eej)ejpjqfd8eejrjsjtd9eeod:eud;eeld<eud=eud>eejvd?e	gewfd&eegd@eeodAe	eoeedBfe
eoefegegffdCdD�ZxdUdEdF�ZydGdH�ZzedfdIdJ�Z{eddfdKdL�Z|dMdN�Z}dUdOdP�Z~e!fdQdR�ZdSdT�Z�dS)Vz�Trace task execution.

This module defines how the task execution is traced:
errors are recorded, handlers are applied and so on.
�N)�
namedtuple)	�Any�Callable�Dict�	FrozenSet�Optional�Sequence�Tuple�Type�Union)�warn)�
ExceptionInfo�ExceptionWithTraceback)�EncodeError)�loads)�prepare_accept_content)�	safe_repr�safe_str)�current_app�group�signals�states)�_task_stack)�Context)�Task)�BackendGetMetaError�Ignore�InvalidTaskError�Reject�Retry)�AsyncResult)�
get_logger)�gethostname)�
mro_lookup)�saferepr)�get_pickleable_etype�get_pickleable_exception�get_pickled_exception)�	TraceInfo�build_tracer�
trace_task�setup_worker_optimizations�reset_worker_optimizations)�successful_requestszTask %(name)s[%(id)s] receivedzATask %(name)s[%(id)s] succeeded in %(runtime)ss: %(return_value)sz.Task %(name)s[%(id)s] %(description)s: %(exc)sz%Task %(name)s[%(id)s] %(description)szTask %(name)s[%(id)s] %(exc)sz$Task %(name)s[%(id)s] retry: %(exc)s�log_policy_t)�format�description�severity�	traceback�mail�rejected��ignoredzINTERNAL ERRORzraised expectedzraised unexpected�
trace_ok_t)�retval�info�runtime�retstrcCstj||d|id�dS)zzLog 'fmt % context' with severity 'INFO'.

    'context' is also passed in extra with key 'data' for custom handlers.
    �data)�extraN)�loggerr9)�fmt�context�rA�I/home/arjun/projects/env/lib/python3.10/site-packages/celery/app/trace.pyr9~sr9cCst|j|tthdgd�S)z+Return true if the task overrides ``attr``.zcelery.app.task)�stop�monkey_patched)r#�	__class__�BaseTask�object)�task�attrrArArB�task_has_custom�s�rJcCs@t|t�rtSt|t�rtS|jrtS|jrt||j�rtSt	S�N)
�
isinstancer�log_policy_rejectr�log_policy_ignore�internal�log_policy_internal�throws�log_policy_expected�log_policy_unexpected)rH�einfo�excrArArB�get_log_policy�s

rVcCst|dd�p|S)z8Use 'shadow' in request for the task name if applicable.�shadowN)�getattr)�request�defaultrArArB�
get_task_name�sr[c@sVeZdZdZdZddd�Z	ddd	�Zd
d�Zdd
�Zddd�Z	ddd�Z
dd�ZdS)r(z!Information about task execution.��stater8NcCs||_||_dSrKr\)�selfr]r8rArArB�__init__�s
zTraceInfo.__init__FTcCsF|jr|j}n|r|jrd}n|}t|jt|ji|j||||d�S)NT)�store_errors�
call_errbacks)�
ignore_result�store_errors_even_if_ignored�store_eager_result�RETRY�handle_retry�FAILURE�handle_failurer])r^rH�req�eagerrar`rArArB�handle_error_state�s
���zTraceInfo.handle_error_statecK�|�||t��dSrK��
_log_errorr
�r^rHri�kwargsrArArB�
handle_reject��zTraceInfo.handle_rejectcKrlrKrmrorArArB�
handle_ignore�rrzTraceInfo.handle_ignorec
Ks�t��\}}}zD|j}t|||f�}	|r!|jj|j|j|	j|d�|�	|j|j|j
|j|	�tj
j||||	d�tt|jt||j�t|�d��|	W~S~w)zHandle retry exception.�rY)�senderrY�reasonrT)�id�namerU)�sys�exc_infor8r
�backend�
mark_as_retryrwrUr2�on_retry�argsrpr�
task_retry�sendr9�	LOG_RETRYr[rx�str)
r^rHrir`rp�type_�_�tbrvrTrArArBrf�s&�
�
�zTraceInfo.handle_retryc
	Cs�|j}t|�}|jdurt��\}}|_tt|��}t|||jfd�}	|jj	|j
||	j|||d�|�||j
|j
|j|	�tjj||j
||j
|j|j|	d�|�|||	�|	S)zHandle exception.N�rz)rY�store_resultra)ru�task_id�	exceptionr~rpr2rT)r8r&�
__traceback__ryrzr%�typer
r{�mark_as_failurerwr2�
on_failurer~rpr�task_failurer�rn)
r^rHrir`ra�orig_excrUr��exc_typerTrArArBrh�s(

��zTraceInfo.handle_failurec
Cs�t|j�}|_t|t�r|j}|_t|�t|j�|j|�	d�p%t|j
�|�	d�p.t|j�f\}}}}}	t|||�}
|j
|jt||j�||||	|
j|jd�	}tj|
j|
j��||
jr]|ndd|id�dS)N�argsrepr�
kwargsrepr)	�hostnamerwrxrUr2r~rpr0rOr<)rzr=)r'r�rLrrUrrr2rz�getr~rprVr�rwr[rxr0rOr>�logr1r/�strip)r^rHrirT�eobjr�r2rz�sargs�skwargs�policyr@rArArBrn�s0
�
�
�zTraceInfo._log_errorrK)FT)T)TT)�__name__�
__module__�__qualname__�__doc__�	__slots__r_rkrqrsrfrhrnrArArArBr(�s

�

r(cCs�d}|durt|d�r|j}nt��\}}}nt��\}}}|dur@z|j��|jjWn	ty6Ynw|j}|dus"dSdS)Nr�)	�hasattrr�ryrz�tb_frame�clear�f_locals�RuntimeError�tb_next)rUr�r�rArArB�traceback_clears

��r�TFrxrH�loaderr�r`�Inforj�	propagate�app�	monotonic�
IGNORE_STATES�return.c!st�d�r�n�j�|p�j}�j}�j��o�jo|��r(|s(�jr(d�n�o-|��jjs5�jo<�jj	o<�j
j��pAt���jj
�|j�
|j�	d�d�d�t�d�rZ�j�t�d�rb�j�t�d�rj�j�t����j}
|
j�|
j�tj�tj�t�tj���j�tjj �tj!j �tj"j �ddl#m$}|j%�t&dfd	t#j'j(j)d
t*t+t,t+fdt-dt.d
t/�t0t0t0ff
����fdd�
�
	ddt-dt1t0dt2t-t0fd	t3t2t-t0fd
�f
����������	�
���
�����������������fdd�
}|S)a=Return a function that traces task execution.

    Catches all exceptions and updates result backend with the
    state and result.

    If the call was successful, it saves the result to the task result
    backend, and sets the task status to `"SUCCESS"`.

    If the call raises :exc:`~@Retry`, it extracts
    the original exception, uses that as the result and sets the task state
    to `"RETRY"`.

    If the call results in an exception, it saves the exception as the task
    result, and sets the task state to `"FAILURE"`.

    Return a function that takes the following arguments:

        :param uuid: The id of the task.
        :param args: List of positional args to pass on to the function.
        :param kwargs: Keyword arguments mapping to pass on to the function.
        :keyword request: Request dict.

    �__call__TN�before_start�
on_success�after_returnr)�canvasrYrUr]rar�cs2�r��||�}|j�|�|d�}|||j|jfS)z1Handle any errors raised by a `Task`'s execution.)rjra)rkr]r8)rYrUr]ra�I�R)r�rjr�rHrArB�on_error�s
�zbuild_tracer.<locals>.on_error�uuidr~rpcsjd}}}}}}	d}
��}�z`z|jWnty#td��wt|p(i|d|d�}
|
jo7|
j�dd�}�rx|rx|
jtvrI�||||�WSt|
j�d�}
z|
j	}	Wn	t
y^Ynw|	tkrxtt
|
jt|
��dd���||||�WS���|
jp�|}�r�|
j�d	�nd}�|
��zZ�r�t�|�||d
��
|���r��jj|��d�t|
d�z�r��|||��|i|��}}t}	Wn�ty�}z#�t|�td
d�}}|j	|j}	}|��|
�t|�WYd}~�ncd}~wt�y#}z#�t|�td
d�}}|j	|j}	}|��|
�t|�WYd}~�n4d}~wt�yF}z�
|
|tdd�\}}}	}t|�WYd}~�nd}~wt�ye}z�
|
|�\}}}	}t|�WYd}~n�d}~wt �ym�wz��j!j"}|�r�t#�j!j"�dk�r�gg}}|D]}�|�d�}t$|t%��r�|�&|��q�|�&|��q�|D]
}|j'|f|||d��q�|�r�t%|�d�j'|f|||d�n�|d�d�j'|f|||d�|
j(}|�r�|�)��d�}|j'|f||||d��j�*|||
��Wnt+�y}z�
|
|�\}}}	}WYd}~nDd}~wwt,|��}��|}��r(�||||���r1t-�|d���rStt.|t|
��|||
�d��pFt/|�|
�d��pOt/|�d��|	�v�rd��rd�|	||||d�WzJ��rtt0�|�||||	d�W������s�z
�j�1��	�Wn�t2t3t4f�y��t�y�}zt5j6d|d
d�WYd}~n�d}~wwn�������s�z
�j�1��	�Wwt2t3t4f�y��t�y�}zt5j6d|d
d�WYd}~wd}~wwwzJ��r�t0�|�||||	d�W������s5z
�j�1��	�Wwt2t3t4f�y�t�y4}zt5j6d|d
d�WYd}~wd}~www������spz
�j�1��	�Wwt2t3t4f�yU�t�yo}zt5j6d|d
d�WYd}~wd}~wwwWn;t4�y{�t�y�}z&t7�|||||���r��t8�|�}|
du�r��
|
|�\}}}}WYd}~nd}~ww�||||�S)zExecute and trace a `Task`.Nz'Task keyword arguments is not a mappingF)r~�called_directlyrp�redelivered�r�z$Task already completed successfully.)rwrxr0�priority)rur�rHr~rp)�pidr�rtT�rO)rar5)�	parent_id�root_idr�r)�chainr�r�r�)ru�resultr�r�)rwrx�return_valuer:r~rp)rur�rHr~rpr8r]zProcess cleanup failed: %rr�)9�items�AttributeErrorrr�
delivery_infor�rwr-r r]r�SUCCESSr9�LOG_IGNOREDr[r��send_prerunr{r��STARTEDr�REJECTEDr
r8rqr�r�IGNOREDrsrre�	Exception�
BaseExceptionrY�	callbacks�lenrLr�append�apply_asyncr��pop�mark_as_donerr$�send_success�LOG_SUCCESSr�send_postrun�process_cleanup�KeyboardInterrupt�
SystemExit�MemoryErrorr>�error�_signal_internal_error�report_internal_error)r�r~rprYr�r��T�Rstrr8r]�task_request�
time_startr��rr��
task_priorityrUr��sigs�groups�sig�group_r��_chsigr�)r�r��
_does_infor��deduplicate_successful_tasksrj�funr��inherit_parent_priority�loader_cleanup�loader_task_initr�rxr�r��pop_request�pop_task�postrun_receivers�prerun_receivers�publish_result�push_request�	push_task�resultrepr_maxsize�	signature�success_receiversrH�task_after_return�task_before_start�task_on_successr7�
track_startedrArBr*�s�
��
��

��
���
�������

��������

�

����

�����

�������

�����

�����	

��z build_tracer.<locals>.trace_taskrK)4rJ�runr�rbr�rd�conf�task_acks_late�	acks_late�#worker_deduplicate_successful_tasksr{�
persistentr"�task_inherit_parent_priority�on_task_init�on_process_cleanupr�r�r��os�getpid�
request_stack�pushr�rr>�isEnabledFor�logging�INFOr�r�task_prerun�	receivers�task_postrun�task_success�celeryr��maybe_signaturergr�rHrrr�r
r��boolr	rrrr)rxrHr�r�r`r�rjr�r�r�r7r�rbrr�r*rA) r�r�r�r�r�rjr�r�r�r�r�r�rxr�r�r�r�r�r�r�r�r�r�r�r�r�rHr�r�r�r7r�rBr))s�+
��



���������
��J�Fr)c
Ks�|sin|}z|jdurt|j|fi|��|_|�||||�WStyG}zt||||||�tt||�tt|�dd�WYd}~Sd}~ww)zTrace task execution.Ng)	�	__trace__r)rxr�r�r7r�r(rg)rHr�r~rprY�optsrUrArArBr*\s
&��r*c	
CsVz(t��\}}}t�}t|j�|_t|j�|_tjj	||||||||d�W~dS~w)zJSend a special `internal_error` signal to the app for outside body errors.)rur�r~rprYr�r2rTN)
ryrzr
r&r�r%r�r�task_internal_errorr�)	rHr�r~rprYrUr�r�rTrArArBr�hs �
r�cKs�|pt��}d}	|rt|jj�}
|||||
d�\}}}	n|\}}}	t�}
|j|||
dd�fi|	p1i��t|j||||||d�\}}}}|rLd||fSd||fS)N��acceptF�r~rpr��is_eagerr�r5r)	r�_get_current_objectrr��accept_contentr"�updater*�tasks)rxr�rY�body�content_type�content_encodingrr��
extra_request�embedrr~rpr�r�r�r�r�rArArB�trace_task_ret}s&�
��

�r#c	Ks�|stn|}d}
|\}}}|r|||||d�\}
}}
n|\}
}}
|j|
||dd�fi|
p-i��||�||
||�\}}}}|rEd||fSd||fS)NrFrr5r)�
_localizedrr)rHr�rYrrr r�_locr�r�r"rrr~rpr�r�r�r�rArArB�fast_trace_task�s$
�
���r&cCsRt��\}}}z|j�|d�}t|||fdd�}ttd�||j���|W~S~w)N�pickleTr�z'Exception raised outside body: {!r}:
{})	ryrzr{�prepare_exceptionr
r�RuntimeWarningr/r2)rHrU�_type�_value�_tbrzrArArBr��s��r�cCsN|pt�}t�|��|��|��|jt|jj�|gt	dd�<d|_
dS)z#Setup worker related optimizations.NT)r"�_install_stack_protection�set_current�set_default�finalize�_tasksrr�rr$�use_fast_trace_task)r�r�rArArBr+�s

�
r+cCsPzttd�Wn	tyYnwzt�d�t_Wn	ty"Ynwd|_dS)z*Reset previously configured optimizations.�_stackprotected�BaseTask.__call__FN)�delattrrFr��_patchedr�r��KeyErrorr2r�rArArBr,�s��
r,cs:ttdd�stjtd<��fdd�}|t_dt_dSdS)Nr3Fr4csT|j}|j}|r|jst|�dkr|jsd|_|j|i|��S�|g|�Ri|��S)Nr5)r�top�
_protectedr�r�r�)r^r~rp�stackri��origrArB�__protected_call__�s
z5_install_stack_protection.<locals>.__protected_call__T)rXrFr�r6r3)r=rAr;rBr-�s
�r-rK)�r�r
rry�time�collectionsr�typingrrrrrrr	r
r�warningsr�billiard.einfor
r�kombu.exceptionsr�kombu.serializationr�
loads_messager�kombu.utils.encodingrrr�celery.loaders.apprrrr�
celery._stater�celery.app.taskrrrF�celery.exceptionsrrrrr�
celery.resultr �celery.utils.logr!�celery.utils.nodenamesr"�celery.utils.objectsr#�celery.utils.safereprr$�celery.utils.serializationr%r&r'�__all__�celery.worker.stater-r�r>�LOG_RECEIVEDr��LOG_FAILURE�LOG_INTERNAL_ERRORr��LOG_REJECTEDr�r.�WARNrMrrN�CRITICALrPrR�ERRORrSrr�r�rr�rr�r�r�r�r�rerg�EXCEPTION_STATES�	frozensetr�r$r6r7r9rJrVr[r(r�r�r��local�PromiseProxy�loadersr��	AppLoaderr�Celery�intr)r*r�r#r&r�r+r,r-rArArArB�<module>s�,����


s���������	�

���"
�
5
�
�