403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib/python3.11/site-packages/ansible/executor/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib/python3.11/site-packages/ansible/executor/__pycache__/task_queue_manager.cpython-311.pyc
�

���c�G����ddlmZmZmZeZddlZddlZddlZddl	Z	ddl
Z
ddlZddl
mZddl
mZddlmZddlmZddlmZddlmZdd	lmZdd
lmZmZddlmZddl m!Z!dd
l"m#Z#m$Z$m%Z%ddl&m'Z'ddl(m)Z)ddl*m+Z+ddl,m-Z-ddl.m/Z/ddl0m1Z1ddl2mZ3dgZ4e/��Z5Gd�d��Z6Gd�d��Z7Gd�dej8j9��Z:Gd�de;��Z<Gd�d��Z=dS)�)�absolute_import�division�print_functionN)�	constants)�context)�AnsibleError)�PlayIterator)�AggregateStats)�
TaskResult)�string_types)�to_text�	to_native)�PlayContext)�Task)�callback_loader�strategy_loader�
module_loader)�CallbackBase)�Templar)�HostVars)�warn_if_reserved)�Display)�lock_decorator�TaskQueueManagerc��eZdZd�ZdS)�CallbackSendc�0�||_||_||_dS�N)�method_name�args�kwargs��selfrr r!s    �H/usr/lib/python3.11/site-packages/ansible/executor/task_queue_manager.py�__init__zCallbackSend.__init__7s��&�����	������N��__name__�
__module__�__qualname__r%�r&r$rr6s#����������r&rc��eZdZd�ZdS)�DisplaySendc�"�||_||_dSr)r r!�r#r r!s   r$r%zDisplaySend.__init__>s����	�����r&Nr'r+r&r$r-r-=s#����������r&r-c�0��eZdZ�fd�Zd�Zd�Zd�Z�xZS)�
FinalQueuec�\��t|d<tt|��j|i|��dS)N�ctx)�multiprocessing_context�superr1r%)r#r r!�	__class__s   �r$r%zFinalQueue.__init__Ds4���/��u�
�(��j�$���(�$�9�&�9�9�9�9�9r&c�P�|�t|g|�Ri|��d���dS�NF��block)�putrr"s    r$�
send_callbackzFinalQueue.send_callbackHsE�������6�t�6�6�6�v�6�6��	�	
�	
�	
�	
�	
r&c��t|dt��r	|d}nt|i|��}|�|d���dS)NrFr9)�
isinstancerr;)r#r r!�trs    r$�send_task_resultzFinalQueue.send_task_resultNs`���d�1�g�z�*�*�	-��a��B�B��T�,�V�,�,�B������	�	
�	
�	
�	
�	
r&c�H�|�t|i|��d���dSr8)r;r-r/s   r$�send_displayzFinalQueue.send_displayXs:�������(��(�(��	�	
�	
�	
�	
�	
r&)r(r)r*r%r<r@rB�
__classcell__)r6s@r$r1r1Cse�������:�:�:�:�:�
�
�
�
�
�
�
�
�
�
�
�
�
r&r1c��eZdZd�ZdS)�AnsibleEndPlayc��||_dSr)�result)r#rGs  r$r%zAnsibleEndPlay.__init__`s
������r&Nr'r+r&r$rErE_s#����������r&rEc��eZdZdZdZdZdZdZdZdZ	dd�Z
d�Zd
�Zd�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zed���d���ZdS)rao
    This class handles the multiprocessing requirements of Ansible by
    creating a pool of worker forks, a result handler fork, and a
    manager object with shared datastructures/queues for coordinating
    work between all processes.

    The queue manager is responsible for loading the play strategy plugin,
    which dispatches the Play's tasks to hosts.
    r�����NTFc	��||_||_||_t��|_||_||_||_||_|pd|_	d|_
g|_d|_tj�dd��r+tjdD]}	|	rt!j|	���d|_t'��|_t'��|_	t-��|_n1#t0$r$}
t3dt5|
��z���d}
~
wwxYwt7j��|_t=j��|_ dS)N�F�module_pathzXUnable to use multiprocessing, this is normally caused by lack of access to /dev/shm: %s)!�
_inventory�_variable_manager�_loaderr
�_stats�	passwords�_stdout_callback�_run_additional_callbacks�	_run_tree�_forks�_callbacks_loaded�_callback_plugins�_start_at_doner�CLIARGS�getr�
add_directory�_terminated�dict�
_failed_hosts�_unreachable_hostsr1�_final_q�OSErrorrr�	threading�Lock�_callback_lock�tempfile�
TemporaryFile�_connection_lockfile)r#�	inventory�variable_manager�loaderrU�stdout_callback�run_additional_callbacks�run_tree�forks�path�es           r$r%zTaskQueueManager.__init__wsq��#���!1������$�&�&���"��� /���)A��&�!����j�q���!&���!#���#����?���}�e�4�4�	6���
�6�
6�
6���6�!�/��5�5�5��!���"�V�V���"&�&�&���	J�&�L�L�D�M�M���	J�	J�	J��y�}F�GH�}I�}I� I�J�J�
J�����	J����(�n�.�.���%-�$:�$<�$<��!�!�!s�C0�0
D�:D�Dc�l�g|_t|��D]}|j�d���dSr)�_workers�range�append)r#�num�is   r$�_initialize_processesz&TaskQueueManager._initialize_processes�sA����
��s���	'�	'�A��M� � ��&�&�&�&�	'�	'r&c
�r�|jrdSd}|j�tj|_t	|jt
��rd}n�t	|jt��r_|jtvrtd|jz���tj	|j��|_|j�
��d}ntd���ttjd�����}tj
D]Q}tj	|d���}|r||vr|�|���4t�d|z���R|D�]�}t#|dd	��}t#|d
t#|dd����}t#|dg��}|r	|d
}	nDt$j�t$j�|j����\}	}
t�d|	z��|dkr.|	|jks|rt�d|	z����d}n3|	dkr|jrn%|jr|rtj
�|	tj
vr��	|��}|rZ||jvr/|�
��|j�|��nAt�d|�d|	�d���nt�d|	z��������#t8$r8}t�d|	�dt;|������Yd}~���d}~wwxYwd|_dS)z�
        Loads all available callbacks, with the exception of those which
        utilize the CALLBACK_TYPE option. When CALLBACK_TYPE is set to 'stdout',
        only one such callback plugin will be loaded.
        NFTz)Invalid callback for stdout specified: %szMcallback must be an instance of CallbackBase or the name of a callback plugin)�
class_onlyz-Skipping callback plugin '%s', unable to load�
CALLBACK_TYPE��CALLBACK_NEEDS_ENABLED�CALLBACK_NEEDS_WHITELIST�_redirected_namesrz Attempting to use '%s' callback.�stdoutz=Skipping callback '%s', as we already have a stdout callback.�treezSkipping callback 'z', already loaded as 'z'.zFSkipping callback '%s', as it does not create a valid plugin instance.z', unable to load due to: )rZrV�C�DEFAULT_STDOUT_CALLBACKr>rrrrr^�set_options�list�all�CALLBACKS_ENABLEDrx�display�warning�getattr�osrs�splitext�basename�_original_path�vvvvv�vvrXrWr[�	Exceptionr)
r#�stdout_callback_loaded�
callback_list�c�plugin�callback_plugin�
callback_type�callback_needs_enabled�cnames�
callback_name�_�callback_objrts
             r$�load_callbackszTaskQueueManager.load_callbacks�s����!�	��F�!&��� �(�$%�$=�D�!��d�+�\�:�:�
	p�%)�"�"�
��-�|�
<�
<�	p��$�O�;�;�"�#N�QU�Qf�#f�g�g�g�(7�(;�D�<Q�(R�(R��%��%�1�1�3�3�3�)-�&�&��n�o�o�o��_�0�D�A�A�A�B�B�
��$�
	U�
	U�A�$�(��t�<�<�<�F��
U���.�.�!�(�(��0�0�0����� O�RS� S�T�T�T�T� -�.	�.	�O�#�O�_�b�I�I�M�%,�_�>V�X_�`o�rL�NS�YT�YT�&U�&U�"��_�.A�2�F�F�F��
h� &�q�	�
�
�&(�W�%5�%5�b�g�6F�6F��Ge�6f�6f�%g�%g�"����M�M�<�
�N�O�O�O���(�(� �D�$9�9�9�=S�9��J�J�^�bo�p�q�q�q��)-�&�&��&�(�(�T�^�(���3�
�8N�
��'�/�=��H[�3[�3[��
�.��0�0�� �	�#�4�+A�A�A�$�0�0�2�2�2��.�5�5�l�C�C�C�C��
�
�
�Xg�Xg�Xg�iv�iv�iv�#w�x�x�x�x��O�O�$l�o|�$|�}�}�}�����
�
�
�����Wd�Wd�Wd�fo�pq�fr�fr�fr� s�t�t�t����������
����"&����s�$BK+�+
L-�5-L(�(L-c��|js|���|j�|���}t	|j|���}t
||jj�	����|�
��}|�|��|���|j
z|_
t|j|j|j���|_t#||j|j�����}|jr/t-|jd��r|j�|��|jD]'}t-|d��r|�|���(|�d|��t5|j|||j||j���}|�t;|j|j����tAj!|j"|��}|�tGd|j"z|j$�	���|j%�	��D]1}	|j�&|	��}
|�'|
���2|j(�	��D]!}	|j)j*�+|	���"|�,��tZj.�!d
���|j/�d|_	|�0||��}|�1��|�2��n-#|�1��|�2��wxYw|�3��D]}	d|j%|	<�
|j4rtk|���|S)al
        Iterates over the roles/tasks in a play, using the given (or default)
        strategy for queueing tasks. The default is the linear strategy, which
        operates like classic Ansible by keeping all hosts in lock-step with
        a given task (meaning no hosts move on to the next task until all hosts
        are done with the current task).
        )�play)rn�	variables)rlrmrn�set_play_context�v2_playbook_on_play_start)rlr��play_contextrm�all_vars�
start_at_doneNz#Invalid play strategy specified: %s)�obj�
start_at_taskT)6rZr�rR�get_varsrrSr�environment�globals�keys�copy�
post_validate�compile_roles_handlers�handlersrrQ�hostvarsrrUrk�filenorV�hasattrr�r[r<r	r\r{�minrY�
batch_sizerr^�strategyr�_dsrb�get_host�mark_host_failedrc�_play�_removed_hostsrx�clear_failed_hostsrr]r��run�cleanup�_cleanup_processes�get_failed_hosts�end_playrE)r#r�r��templar�new_playr�r��iteratorr��	host_name�host�play_returns            r$r�zTaskQueueManager.runs����%�	"����!�!�!��)�2�2��2�=�=������B�B�B����7�#6�#>�#C�#C�#E�#E�F�F�F��9�9�;�;�����w�'�'�'�$�;�;�=�=��@Q�Q��� ��o�!�3��<�
�
�
��
�#�8�T�^�T�=V�=]�=]�=_�=_�`�`���!�	A���-�/A�B�B�	A��!�2�2�<�@�@�@�#�5�	?�	?�O���(:�;�;�
?��0�0��>�>�>�����6��A�A�A� ��o��%�!�3���-�

�
�
��	
�"�"�3�t�{�H�4G�#H�#H�I�I�I�#�&�x�'8�$�?�?�����D�x�GX�X�^b�^f�g�g�g�g��+�0�0�2�2�	,�	,�I��?�+�+�I�6�6�D��%�%�d�+�+�+�+��0�5�5�7�7�	<�	<�I��N�)�0�0��;�;�;�;����!�!�!�
�?����/�/�;��@Z�@b�"&�D��	&�"�,�,�x��>�>�K��������#�#�%�%�%�%��
�������#�#�%�%�%�%����"�2�2�4�4�	1�	1�I�,0�D��y�)�)���	.� ��-�-�-��s�$L#�#*M
c�4�t�d��|���|j���|���tj���tj	���dS)NzRUNNING CLEANUP)
r��debug�	terminaterd�closer��sysr��flush�stderr�r#s r$r�zTaskQueueManager.cleanup[s{���
�
�'�(�(�(��������
���������!�!�!�	�
�������
�������r&c��t|d��r�ttjdz
dd��D]]}t	d�|jD����sn<|rt
jtj���Ct�
d���^|jD]@}|r:|���r&	|����.#t$rY�:wxYw�?dSdS)NrvrI���c3�BK�|]}|o|���V��dSr)�is_alive)�.0�
worker_prcs  r$�	<genexpr>z6TaskQueueManager._cleanup_processes.<locals>.<genexpr>hs3����`�`�J�:�?�*�*=�*=�*?�*?�`�`�`�`�`�`r&zFOne or more worker processes are still running and will be terminated.)r�rwr��WORKER_SHUTDOWN_POLL_COUNT�anyrv�time�sleep�WORKER_SHUTDOWN_POLL_DELAYr�r�r�r��AttributeError)r#�attempts_remainingr�s   r$r�z#TaskQueueManager._cleanup_processeses���4��$�$�	�&+�A�,H�1�,L�b�RT�&U�&U�
n�
n�"��`�`�RV�R_�`�`�`�`�`���E�%�n��J�q�;�<�<�<�<��O�O�$l�m�m�m�m�"�m�
�
�
���*�"5�"5�"7�"7���"�,�,�.�.�.�.��)�����������	�	�
�
s�-C�
C�Cc�,�t��|_dSr)rarbr�s r$r�z#TaskQueueManager.clear_failed_hostsws��!�V�V����r&c��|jSr)rQr�s r$�
get_inventoryzTaskQueueManager.get_inventoryzs
����r&c��|jSr)rRr�s r$�get_variable_managerz%TaskQueueManager.get_variable_manager}s���%�%r&c��|jSr)rSr�s r$�
get_loaderzTaskQueueManager.get_loader�s
���|�r&c� �|jdd�Sr)rvr�s r$�get_workerszTaskQueueManager.get_workers�s���}�Q�Q�Q��r&c��d|_dS)NT)r`r�s r$r�zTaskQueueManager.terminate�s������r&c�D�d}|jD]}t|dd��rd}�|S)NF�exitcodeT)rvr�)r#�defunct�xs   r$�has_dead_workersz!TaskQueueManager.has_dead_workers�s9��
����	�	�A��q�*�d�+�+�
�����r&rh)�attrc
��|jg|jzD�]�}t|dd��r�t|dd��}g}|dfD]P}t||d��}|�$t||�d��d��}|�|�|���Qg}	d}
|D]r}t|t��r(|	�|�����n|	�|��t|t��r	|j	rd}
�s|
r|s��|D]�}	||	i|���#t$r�}
t�dt|���dt|���d	t|
������d
dlm}d
dlm}t�d
d�||��d����z��Yd}
~
��d}
~
wwxYw���dS)N�disabledF�wants_implicit_tasks�	v2_on_any�v2_TzFailure using method (z) in callback plugin (z): r)�	format_tb)�exc_infozCallback Exception: 
� rJ)rVr[r��removeprefixrxr>r�
clean_copyr�implicitr�r�r�r
�	tracebackr�r�r��vvv�join)r#rr r!r�r��methods�possible�gotit�new_args�is_implicit_task�arg�methodrtr�r�s                r$r<zTaskQueueManager.send_callback�s��� $� 5�6��9O�O�2	_�2	_�O���
�E�:�:�
��$+�?�<R�TY�#Z�#Z� ��G�(�+�6�
*�
*�����4�@�@���=�#�O�X�5J�5J�5�5Q�5Q�SW�X�X�E��$��N�N�5�)�)�)���H�
 %���

,�

,���c�:�.�.�)��O�O�C�N�N�$4�$4�5�5�5�5��O�O�C�(�(�(��c�4�(�(�,�S�\�,�'+�$���
�(<�
��!�
_�
_��_��F�H�/��/�/�/�/�� �_�_�_��O�O�O�`g�hs�`t�`t�`t�`t�v}�N�wO�wO�wO�wO�QX�YZ�Q[�Q[�Q[�%\�]�]�]�3�3�3�3�3�3�,�,�,�,�,�,��K�K� 8�3�8�8�I�I�h�h�j�j�YZ�m�D\�D\�;]�;]� ]�^�^�^�^�^�^�^�^�����_����
_�U2	_�2	_s�D�
G�$BG�G)NTFN)r(r)r*�__doc__�RUN_OK�	RUN_ERROR�RUN_FAILED_HOSTS�RUN_UNREACHABLE_HOSTS�RUN_FAILED_BREAK_PLAY�RUN_UNKNOWN_ERRORr%r{r�r�r�r�r�r�r�r�r�r�r�rr<r+r&r$rrdsB���������F��I���������&=�&=�&=�&=�P'�'�'�[&�[&�[&�zW�W�W�r������$$�$�$����&�&�&���� � � � � � �	�	�	��^�)�*�*�*�3_�3_�+�*�3_�3_�3_r&)>�
__future__rrr�type�
__metaclass__r�r�rirfr��multiprocessing.queues�multiprocessing�ansiblerr�r�ansible.errorsr�ansible.executor.play_iteratorr	�ansible.executor.statsr
�ansible.executor.task_resultr�ansible.module_utils.sixr�ansible.module_utils._textr
r�ansible.playbook.play_contextr�ansible.playbook.taskr�ansible.plugins.loaderrrr�ansible.plugins.callbackr�ansible.templater�ansible.vars.hostvarsr�ansible.vars.reservedr�ansible.utils.displayr�ansible.utils.lockr�ansible.utils.multiprocessingr4�__all__r�rr-�queues�Queuer1r�rErr+r&r$�<module>r%s���&C�B�B�B�B�B�B�B�B�B��
�	�	�	�	�
�
�
�
�����������������"�"�"�"�"�"�������'�'�'�'�'�'�7�7�7�7�7�7�1�1�1�1�1�1�3�3�3�3�3�3�1�1�1�1�1�1�9�9�9�9�9�9�9�9�5�5�5�5�5�5�&�&�&�&�&�&�R�R�R�R�R�R�R�R�R�R�1�1�1�1�1�1�$�$�$�$�$�$�*�*�*�*�*�*�2�2�2�2�2�2�)�)�)�)�)�)�-�-�-�-�-�-�L�L�L�L�L�L��
��
�'�)�)������������������
�
�
�
�
��'�-�
�
�
�8�����Y����
d_�d_�d_�d_�d_�d_�d_�d_�d_�d_r&

Youez - 2016 - github.com/yon3zu
LinuXploit