Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/celery/concurrency/__pycache__/asynpool.cpython-39.pyc
Ðазад
a t�h � � @ s� d Z ddlZddlZddlZddlZddlZddlZddlmZm Z m Z ddlmZ ddl mZ ddlmZ ddlmZmZmZ ddlmZ dd lmZmZ dd lmZ ddlmZmZ ddlm Z m!Z!m"Z"m#Z#m$Z$ dd l%m&Z& ddl'm(Z(m)Z) ddl*mZ+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7 ddl8m9Z: zddl;m<Z= dZ>W n2 e?�y� ej<fdd�Z=dZ>efdd�ZY n0 dZ@e7eA�ZBeBjCeBjD ZCZDeEejFejGh�ZHdZId ZJd!ZKd"ZLeLeLeKeKeLd#�ZMd$d%� eM�N� D �ZOe d&d'�ZPd(d)� ZQd*d+� ZReSed,��r>ddddejTejUejVejWfd-d.�ZXn d:d/d.�ZXddddeXfd0d1�ZYd2d3� ZZG d4d5� d5ej[�Z[G d6d7� d7ej\�Z\G d8d9� d9ej]�Z^dS );a� Version of multiprocessing.Pool using Async I/O. .. note:: This module will be moved soon, so don't use it directly. This is a non-blocking version of :class:`multiprocessing.Pool`. This code deals with three major challenges: #. Starting up child processes and keeping them running. #. Sending jobs to the processes and receiving results back. #. Safely shutting down this system. � N)�Counter�deque� namedtuple)�BytesIO)�Integral)�HIGHEST_PROTOCOL)�pack�unpack�unpack_from)�sleep)�WeakValueDictionary�ref)�pool)� isblocking�setblocking)�ACK�NACK�RUN� TERMINATE� WorkersJoined)�_SimpleQueue)�ERR�WRITE)�pickle)� SELECT_BAD_FD)�fxrange)�promise)�worker_before_create_process)�noop)� get_logger)�state)�readTc C s( || |�}t |�}|dkr$|�|� |S �Nr )�len�write)�fd�buf�sizer! �chunk�n� r* ��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/celery/concurrency/asynpool.py�__read__5 s r, Fc C s || |� � �S �N)�getvalue)�fmtZiobufr r* r* r+ r = s r )�AsynPool� g @� � )N�default�fastZfcfsZfairc C s i | ]\}}||�qS r* r* )�.0�k�vr* r* r+ � <dictcomp>W � r9 �Ack)�idr% �payloadc C s t �| �dkS )z(Return true if generator is not started.�GEN_CREATED)�inspect�getgeneratorstate)�genr* r* r+ �gen_not_started\ s rB c C s( z | j }W n ty Y n0 |� S d S r- )�_writer�AttributeError)�job�writerr* r* r+ �_get_job_writera s rG �pollc s� |� }|j �| r$��fdd�| D � |r<��fdd�|D � |rT� �fdd�|D � t� t� } } |rr|dk rrdn t|d �}|�|�}|D ]P\}} t|t�s�|�� }| �@ r�| �|� | �@ r�| �|� | � @ r�| �|� q�| | dfS )Nc s g | ]}�|� ��qS r* r* �r6 r% )�POLLIN�registerr* r+ � <listcomp>r r: z_select_imp.<locals>.<listcomp>c s g | ]}�|� ��qS r* r* rI )�POLLOUTrK r* r+ rL t r: c s g | ]}�|� ��qS r* r* rI )�POLLERRrK r* r+ rL v r: r g @�@)rK �set�roundrH � isinstancer �fileno�add)�readers�writers�err�timeoutrH rJ rM rN Zpoller�R�W�eventsr% �eventr* )rN rJ rM rK r+ �_select_impk s* r\ c C s8 t � | |||�\}}}|r.tt|�t|�B �}||dfS r"