File: //usr/local/lib/python3.9/site-packages/celery/bin/__pycache__/purge.cpython-39.pyc
a
X>h0
� @ s� d Z ddlZddlmZmZmZmZ ddlmZ ej eddid�ej
dd edd
dd�ej
d
deed
dd�ej
ddeed
dd�ejedd� ������ZdS )zBThe ``celery purge`` program, used to delete messages from queues.� N)�COMMA_SEPARATED_LIST�
CeleryCommand�CeleryOption�handle_preload_options)�textZallow_extra_argsT)�clsZcontext_settingsz-fz--forcezPurging OptionszDon't prompt for verification.)r Zis_flag�
help_group�helpz-Qz--queuesz-Comma separated list of queue names to purge.)r �typer r z-Xz--exclude-queuesz2Comma separated list of queues names not to purge.c s( | j j}t|p|jj�� �}t|p$g �}|| }t|�}|�r$t�|d�}|s�d� t
|��} tj| j j
ddd�� d|� d| � d�d d
� dd� � |�� �(�t� �fd
d�|D ��}
W d � n1 s�0 Y |
�r
t�|
d�}| j �d|
� d|� d|� d|� d� � n| j �d|� d|� d�� dS )zvErase all messages from all known task queues.
Warning:
There's no undo operation for this command.
�queuez, �WARNING�red)�fgz!:This will remove all tasks from z: z�.
There is no undo for this operation!
(to skip this prompt use the -f option)
Are you sure you want to delete all tasks?T)�abortc S s. z| j �|�pdW S | jy( Y dS 0 d S )Nr )Zdefault_channelZqueue_purgeZchannel_errors)�connr � r �:/usr/local/lib/python3.9/site-packages/celery/bin/purge.py�_purge8 s zpurge.<locals>._purgec 3 s | ]}� �|�V qd S )Nr )�.0r �r r r r � <genexpr>? � zpurge.<locals>.<genexpr>N�messagezPurged � z from z known task �.zNo messages purged from )�obj�app�setZamqp�queues�keys�lenr Z pluralize�join�sorted�clickZconfirm�styleZconnection_for_write�sumZecho)�ctx�forcer Zexclude_queues�kwargsr �namesZqnumZqueues_headlineZqueue_names�messagesZmessages_headliner r r �purge s6 ���
6��r+ )
�__doc__r# Zcelery.bin.baser r r r Zcelery.utilsr �command�optionZpass_contextr+ r r r r �<module> s<