File: //usr/local/lib/python3.9/site-packages/celery/worker/__pycache__/components.cpython-39.pyc
a
X>hI � @ s d Z ddlZddlZddlmZ ddlmZmZ ddlm Z m
Z
ddlmZ
ddlmZ ddlmZ dd lmZ dd
lmZ ddlmZ dZd
dhZdZdZG dd� dej�ZG dd� dej�ZG dd� dej�ZG dd� dej�Z G dd� dej�Z!G dd� dej�Z"dS )zWorker-level Bootsteps.� N)�Hub)�get_event_loop�set_event_loop)� DummyLock�LaxBoundedSemaphore)�Timer)� bootsteps)�_set_task_join_will_block)�ImproperlyConfigured)�
IS_WINDOWS)�
worker_logger)r r �Pool�Beat�StateDB�Consumer�eventlet�geventzO-B option doesn't work with eventlet/gevent pools: use standalone beat instead.z�
The worker_pool setting shouldn't be used to select the eventlet/gevent
pools, instead you *must use the -P* argument so that patches are applied
as early as possible.
c @ s( e Zd ZdZdd� Zdd� Zdd� ZdS ) r zTimer bootstep.c C sD |j rtdd�|_n,|js$|jj|_| j|j|j| j| j d�|_d S )Ng $@)�max_interval)r Zon_errorZon_tick)
�
use_eventloop�_Timer�timerZ timer_cls�pool_clsr �instantiateZtimer_precision�on_timer_error�
on_timer_tick��self�w� r �B/usr/local/lib/python3.9/site-packages/celery/worker/components.py�create# s
�zTimer.createc C s t jd|dd� d S )NzTimer error: %rT)�exc_info)�logger�error)r �excr r r r 1 s zTimer.on_timer_errorc C s t �d|� d S )Nz Timer wake-up! Next ETA %s secs.)r"