
    rhq                     ^    d dl Z d dlmZ d dlmZ  e j
                  e      Zed        Zd Z	y)    N)contextmanager)castc              #   <  K   d}|rdnd}d| d| }	 | j                  |d|      j                         }||k(  r)d  | j                  |d       | j                  |d       y 	 | j                  |g       c# t        $ r t
        j                  d||        w xY ww)	NRpcGroupManagementTokenjoinleave
Token_for__ DonezBGroup membership token %s timed out waiting for %s to be released.)compare_setdecodesetwaitRuntimeErrorloggererror)storenameis_join	token_keyjoin_or_leavemy_tokenreturneds          o/var/www/html/ai-insurance-compliance-backend/venv/lib/python3.12/site-packages/torch/distributed/rpc/_utils.py_group_membership_managementr   
   s     )I%F7MD6=/2H
$$YH=DDFx IIi$IIh'

H:&     X
 s   A!B$A7 6B7"BBc                 r    ddl m}m} t        ||j	                               }|j                  | |||      }|S )N   )apiTensorPipeAgent)r   r   r    r   _get_current_rpc_agent_update_group_membership)worker_info
my_devicesreverse_device_mapr   r   r    agentrets           r   r"   r"   (   s;    &#"<"<">?E

(
(Z!3WC J    )
logging
contextlibr   typingr   	getLogger__name__r   r   r"    r(   r   <module>r/      s;     %  
		8	$  :r(   