File: //usr/local/lib/python3.10/dist-packages/aiohttp/__pycache__/worker.cpython-310.pyc
o
���gh � @ s d Z ddlZddlZddlZddlZddlZddlmZ ddlm Z m
Z
mZ ddlm
Z ddlmZ ddlmZ dd lmZ dd
lmZ ddlmZ e rTddlZejZnz ddlZejZW n
eyj dZeZY nw dZG d
d� dej�ZG dd� de�Z dS )z%Async gunicorn worker for aiohttp.web� N)� FrameType)�
TYPE_CHECKING�Any�Optional)�AccessLogFormat)�base)�web� )�
set_result)�Application)�AccessLogger)�GunicornWebWorker�GunicornUVLoopWebWorkerc s� e Zd ZejZejZde de ddf� fdd�Z
d"� fdd�Zd"d d
�Zd"dd�Z
d#dd�Z d$ded
ddfdd�Zd"dd�Zdedee ddfdd�Zdedee ddfdd�Zede ddfdd��Zdedefd d!�Z� ZS )%r
�args�kw�returnNc s( t � j|i |�� d | _d| _d | _d S �Nr )�super�__init__�_task� exit_code�_notify_waiter)�selfr r �� __class__� �9/usr/local/lib/python3.10/dist-packages/aiohttp/worker.pyr * s
zGunicornWebWorker.__init__c s0 t �� �� t �� | _t �| j� t� �� d S �N)�asyncio�get_event_loop�close�new_event_loop�loop�set_event_loopr �init_process�r r r r r$ 1 s
zGunicornWebWorker.init_processc C sp | j �| �� �| _z | j �| j� W n ty! | j�d� Y nw | j �| j �� � | j � � t
�| j� d S )NzException in gunicorn worker)
r"