File: //usr/local/lib/python3.9/site-packages/celery/app/__pycache__/builtins.cpython-39.pyc
a
X>h � @ s� d Z ddlmZ ddlmZ dZee�Zedd� �Zedd� �Z ed d
� �Z
edd� �Zed
d� �Zedd� �Z
edd� �Zedd� �Zedd� �ZdS )zOBuilt-in Tasks.
The built-in tasks are always available in all app instances.
� )�connect_on_app_finalize)�
get_logger� c s � j dddd�� fdd��}|S )z�Task used to clean up expired results.
If the configured backend requires periodic cleanup this task is also
automatically configured to run every day at 4am (requires
:program:`celery beat` to be running).
zcelery.backend_cleanupF��name�shared�lazyc s � j �� d S �N)�backend�cleanupr ��appr �=/usr/local/lib/python3.9/site-packages/celery/app/builtins.py�backend_cleanup s z1add_backend_cleanup_task.<locals>.backend_cleanup��task)r
r r r r �add_backend_cleanup_task s r c C s | j ddddd�dd� �}|S )z9Task used by Task.replace when replacing task with group.Tzcelery.accumulateF)�bindr r r c _ s |� d�}|d ur|| S |S )N�index)�get)�self�args�kwargsr r r r �
accumulate s
z'add_accumulate_task.<locals>.accumulater )r
r r r r �add_accumulate_task s
r c sl ddl m� ddlm� ddlm�m} �jddd�jj dddd �ddd�j
�j|f� ���fd
d� �}|S )z�Task used by result backends without native chord support.
Will joins chord by creating a task chain polling the header
for completion.
r ��maybe_signature)�
ChordError)�allow_join_result�result_from_tuplezcelery.chord_unlockNFT)r �max_retriesr �default_retry_delay�
ignore_resultr r c s� |d u r| j }�|��}||�� fdd�|D ��d�}
|
jrB|
jn|
j}z|
�� }W n4 ty� }
z| j|
||d��W Y d }
~
nd }
~
0 0 |s�| j||d���|�d�}z:�� � |�jjdd�}W d � n1 s�0 Y W n� t�yh }
zlz"t |
�
� �}d|j� d |
��}W n t�y2 t
|
�}Y n0 t�d
||
� �j�|�|�� W Y d }
~
nhd }
~
0 0 z|�|� W nN t�y� }
z4t�d
||
� �jj|�d|
���d� W Y d }
~
n
d }
~
0 0 d S )
Nc s g | ]}�|� d ��qS �r r )�.0�r)r
r r r �
<listcomp><