U
    9%e                     @   sZ   d dl mZ d dlmZ d dlZddlmZ ddlmZ ee	Z
edd Zd	d
 ZdS )    )contextmanager)castN   )api)TensorPipeAgentc                 c   s   d}|rdnd}d| d| }|  |d| }||kr\d V  | |d | |d qq z| |g W q  tk
r   td||  Y q X q d S )	NZRpcGroupManagementTokenjoinZleaveZ
Token_for__ DonezBGroup membership token %s timed out waiting for %s to be released.)Zcompare_setdecodesetwaitRuntimeErrorloggererror)storenameis_joinZ	token_keyZjoin_or_leaveZmy_tokenreturned r   [/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/torch/distributed/rpc/_utils.py_group_membership_management	   s    r   c                 C   s"   t tt }|| |||}|S )N)r   r   r   Z_get_current_rpc_agent_update_group_membership)Zworker_infoZ
my_devicesZreverse_device_mapr   Zagentretr   r   r   r   "   s    r   )
contextlibr   typingr   loggingr	   r   r   	getLogger__name__r   r   r   r   r   r   r   <module>   s   

