File: //opt/alt/python311/lib/python3.11/site-packages/jsons/__pycache__/_multitasking.cpython-311.pyc
�
)�;fZ � � � d Z ddlmZmZ ddlmZmZmZ ddlm Z e dee
gef � Zdedede
d e
fd
�Zded e
deeef fd�Zde
d e
ded
ededee deg df � fd�Zd
edede
de
de
f
d�ZdS )zh
PRIVATE MODULE: do not import (from) it directly.
Functionality for processing iterables in parallel.
� )�Process�Manager)�List�Callable�Union)� Something�__getitem__�func�obj�tasks� task_typec � � t ||� � }t ||| ||||�� � }|D ]}|� � � �t |� � S )N)r r
r
�list_to_fillr �args�kwargs)�_get_list_to_fill�_start_tasks�join�list) r
r r r
r r �result�tasks_instances�tasks �F/opt/alt/python311/lib/python3.11/site-packages/jsons/_multitasking.py�
multi_taskr sc � � �s�I�
.�
.�F�"��)�$�06�C�d�*0�2� 2� 2�O� � � ��� � �������<�<�� �returnc � � dgt | � � z }t |t � � r#t � � }|� |� � }|S )Nr )�len�
issubclassr r r )r r
r �managers r r r sD � ��S�3�s�8�8�^�F��)�W�%�%� &��)�)�����f�%�%���Mr r r Nc � � g }t | t |� � � � }| |z
pd} t t |� � |z � � }
t |� � |z }t |� � D ]`}||
z }
|dz |
z }||dz
k r||z
} |t ||||
|| ||f�� � }|� � � |� |� � �a|S )N� )�targetr )�minr �int�range�_fill�start�append)r r
r
r r r r r �
tasks_used�
tasks_left�
slice_size� rest_size�ir( �endr s r r r ( s� � � �O��U�C��H�H�%�%�J���#�(�q�J� �S��X�X�
�*�+�+�J��C���:�%�I�
�:�
�
� %� %���J����1�u�
�"���
�Q�����9��C��y����c�5�#�z�4��P�R� R� R��
�
�
�������t�$�$�$�$��r r( r/ c �^ � t ||� � D ]} | || g|�R d|i|��} | ||<