File: //usr/local/lib/python3.9/site-packages/celery/events/__pycache__/receiver.cpython-39.pyc
a
X>h� � @ s� d Z ddlZddlmZ ddlmZ ddlmZ ddlm Z ddl
mZ ddlm
Z
dd lmZ d
dlmZ dZd
Zedd�ZG dd� de �ZdS )zEvent receiver implementation.� N)�
itemgetter)�Queue)�
maybe_channel)�
ConsumerMixin)�uuid)�app_or_default)�adjust_timestamp� )�get_exchange)�
EventReceiver���� utcoffset� timestampc @ s� e Zd ZdZdZddd�Zdd� Zdd � Zddd�Zdd
d�Z ddd�Z
ddd�Zd
eje
eefdd�Zeefdd�Zedd� �ZdS )r a? Capture events.
Arguments:
connection (kombu.Connection): Connection to the broker.
handlers (Mapping[Callable]): Event handlers.
This is a map of event type names and their handlers.
The special handler `"*"` captures all events that don't have a
handler.
N�#c
C s� t |p
| j�| _t|�| _|d u r&i n|| _|| _|p:t� | _|pJ| jjj | _
t| jp^| j�
� | jjjd�| _|d u r�| jjj}| d u r�| jjj} td�| j
| jg�| j| jdd|| d�| _| jj| _| jj| _| jj| _|d u r�| jjjdh}|| _d S )N)�name�.TF)�exchange�routing_keyZauto_deleteZdurableZmessage_ttl�expires�json)r �appr �channel�handlersr r �node_id�confZevent_queue_prefix�queue_prefixr
�
connectionZconnection_for_writeZevent_exchanger Zevent_queue_ttlZevent_queue_expiresr �join�queue�clock�adjust�adjust_clockZforward�
forward_clockZevent_serializer�accept)
�selfr r r r r r r# Z queue_ttlZ
queue_expires� r% �@/usr/local/lib/python3.9/site-packages/celery/events/receiver.py�__init__# s8
�
�
zEventReceiver.__init__c C s( | j �|�p| j �d�}|o"||� dS )z3Process event by dispatching to configured handler.�*N)r �get)r$ �type�event�handlerr% r% r&