File: //usr/local/lib/python3.9/site-packages/celery/app/__pycache__/control.cpython-39.pyc
a
X>h/r � @ s� d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z ddl
mZ ddlm
Z
dd lmZ dd
lmZ ddlmZ dZee�Zd
Zdd� Zdd� ZG dd� d�ZG dd� d�ZdS )a- Worker Remote Control Client.
Client for worker remote control commands.
Server implementation is in :mod:`celery.worker.control`.
There are two types of remote control commands:
* Inspect commands: Does not have side effects, will usually just return some value
found in the worker, like the list of currently registered tasks, the list of active tasks, etc.
Commands are accessible via :class:`Inspect` class.
* Control commands: Performs side effects, like adding a new queue to consume from.
Commands are accessible via :class:`Control` class.
� N)�TERM_SIGNAME��match)�Mailbox)�register_after_fork)�lazy)�cached_property)�DuplicateNodenameWarning)�
get_logger)� pluralize)�Inspect�Control�
flatten_replyz�Received multiple replies from node {0}: {1}.
Please make sure you give each node a unique nodename using
the celery worker `-n` option.c
sf i t � �� | D ]"}� �fdd�|D � ��|� q� rbt�tt�tt� �d�d� t
� ����� �S )z�Flatten node replies.
Convert from a list of replies in this format::
[{'[email protected]': reply},
{'[email protected]': reply}]
into this format::
{'[email protected]': reply,
'[email protected]': reply}
c s g | ]}|�v r� � |��qS � )�add)�.0�name�Zdupes�nodesr �</usr/local/lib/python3.9/site-packages/celery/app/control.py�
<listcomp>5 � z!flatten_reply.<locals>.<listcomp>r z, )�set�update�warnings�warnr � W_DUPNODE�formatr �len�join�sorted)�reply�itemr r r r &