File: //usr/local/lib/python3.9/site-packages/celery/worker/consumer/__pycache__/mingle.cpython-39.pyc
a
X>h� � @ s` d Z ddlmZ ddlmZ ddlmZ dZee�Z e j
e je j Z
ZZG dd� dej
�Zd S )
z-Worker <-> Worker Sync at startup (Bootstep).� )� bootsteps)�
get_logger� )�Events)�Minglec sv e Zd ZdZd ZefZh d�Zd� fdd� Zdd� Z dd � Z
d
d� Zdd
� Zdd� Z
ddd�Zdd� Zdd� Z� ZS )r z�Bootstep syncing state with neighbor workers.
At startup, or upon consumer restart, this will:
- Sync logical clocks.
- Sync revoked tasks.
> ZgcpubsubZamqpZredisFc s0 | o| � |j�| _t� j|fd|i|�� d S )N�without_mingle)�compatible_transport�app�enabled�super�__init__)�self�cr �kwargs�� __class__� �G/usr/local/lib/python3.9/site-packages/celery/worker/consumer/mingle.pyr s ���zMingle.__init__c C s: |� � �}|jj| jv W d � S 1 s,0 Y d S �N)Zconnection_for_read� transportZdriver_type�compatible_transports)r
r �connr r r r s
zMingle.compatible_transportc C s | � |� d S r )�sync)r
r r r r �start$ s zMingle.startc s` t d� ��� �}|rTt dtdd� |�� D ��� � �fdd�|�� D � t d� nt d� d S )Nzmingle: searching for neighborszmingle: sync with %s nodesc S s g | ]\}}|r|�qS r r )�.0�reply�valuer r r �
<listcomp>, � zMingle.sync.<locals>.<listcomp>c s"