File: //usr/local/lib/python3.9/site-packages/celery/worker/__pycache__/worker.cpython-39.pyc
a
X>h�= � @ s@ d Z ddlZddlZddlmZmZ ddlmZ ddlmZ ddl m
Z
ddlmZ ddlm
Z dd lmZ dd
lmZmZ ddlmZmZmZ ddlmZmZ dd
lmZ ddlmZ ddlmZ ddl m!Z!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z( zddl)Z)W n e*�y dZ)Y n0 dZ+dZ,dZ-dZ.G dd� d�Z/dS )a� WorkController can be used to instantiate in-process workers.
The command-line interface for the worker is in :mod:`celery.bin.worker`,
while the worker program is in :mod:`celery.apps.worker`.
The worker program is responsible for adding signal handlers,
setting up logging, etc. This is a bare-bones worker without
global side-effects (i.e., except for the global state stored in
:mod:`celery.worker.state`).
The worker consists of several components, all managed by bootsteps
(mod:`celery.bootsteps`).
� N)�datetime�timezone)�sleep)� cpu_count)�detect_environment)� bootsteps)�concurrency)�signals)�RUN� TERMINATE)�ImproperlyConfigured�TaskRevokedError�WorkerTerminate)�
EX_FAILURE�create_pidlock)�reload_from_cwd)�mlevel)�
worker_logger)�default_nodename�
worker_direct)�str_to_list)�default_socket_timeout� ��state)�WorkControllerg @z�
Trying to select queue subset of {0!r}, but queue {1} isn't
defined in the `task_queues` setting.
If you want to automatically declare unknown queues you can
enable the `task_create_missing_queues` setting.
ze
Trying to deselect queue subset of {0!r}, but queue {1} isn't
defined in the `task_queues` setting.
c @ sZ e Zd ZdZdZdZdZdZdZdZ G dd� de
j�ZdJdd�ZdKdd�Z
d d
� Zdd� Zd
d� Zdd� Zdd� Zdd� Zdd� ZdLdd�Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� ZdMd,d-�ZdNd.d/�Z dOd1d2�Z!dPd3d4�Z"dQd5d6�Z#dRd7d8�Z$d9d:� Z%d;d<� Z&d=d>� Z'd?d@� Z(dAdB� Z)e*dCdD� �Z+dSdFdG�Z,dHdI� Z-dS )Tr zUnmanaged worker instance.Nc @ s e Zd ZdZdZh d�ZdS )zWorkController.BlueprintzWorker bootstep blueprint.ZWorker> zcelery.worker.components:Hubz!celery.worker.components:Consumerzcelery.worker.components:Beatzcelery.worker.components:Poolzcelery.worker.components:Timerz celery.worker.components:StateDBz'celery.worker.autoscale:WorkerComponentN)�__name__�
__module__�__qualname__�__doc__�nameZ
default_steps� r! r! �>/usr/local/lib/python3.9/site-packages/celery/worker/worker.py� BlueprintL s r# c K s� |p| j | _ t|�| _t�tj�| _| j j� � | j
f i |�� | jf i |�� | jf i |�� | j
f i | jf i |���� d S �N)�appr �hostnamer �nowr �utc�startup_time�loaderZinit_worker�on_before_init�setup_defaults�
on_after_init�setup_instance�prepare_args)�selfr% r&