File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/minion.cpython-310.pyc
o
�N�gy � @ sj d Z ddlZddlZddlZddlZddlZddlZddlZe� e
�Zdd� Zdd� Z
dd� Zd d
� ZdS )z
Utility functions for minions
� Nc C sz g }t j�| d d�}t j�|�s|S t �|�D ]"}t j�||�}zt|| �}|dur0|�|� W q ty: Y qw |S )z0
Return the running jobs on this minion
�cachedir�procN)�os�path�join�isdir�listdir�_read_proc_file�append�OSError)�opts�retZproc_dir�fn_r �data� r �E/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/minion.py�running s
��r c C s� t j�| d d|d�}t j�|�}t j�|�st �|� tjj� |d��}|�
tj�|�� W d � dS 1 s9w Y dS )z(
Write job information to cache
r Zminion_jobszreturn.pzw+bN)
r r r �dirnamer �makedirs�salt�utils�files�fopen�write�payload�dumps)r �jidr
r Zjdir�fp_r r r �
cache_jobs( s
"�r c C sj t �� j}t�� }tjj�| d��9}|� � }|�
� |r#tj�|�}n zt�
| � W n ty9 t�d| � Y nw W d � dS W d � n1 sMw Y t|t�sYdS tjj�|d �s{zt�
| � W dS tyz t�d| � Y dS w |�d�r�|�d�|kr�dS n||�d�|kr�zt�
| � W dS ty� t�d| � Y dS w d�|�d�|�d��}|�d�|ks�||kr�dS |�d�dd � t �� D �v p�|d
d � t �� D �v }|s�|dd � t �� D �v }|�szt�
| � W dS t�y t�d| � Y dS w t|��s3|�d�}|�rt�d|� zt�
| � W dS t�y2 t�d| � Y dS w |S )
z0
Return a dict of JID metadata, or None
�rbzUnable to remove proc file %s.N�pid�multiprocessingz {}-Job-{}r c S � g | ]}|j �qS r ��name��.0�xr r r �
<listcomp>^ s �z#_read_proc_file.<locals>.<listcomp>c S r"