
    jz                         d dl mZ d dlZd dlZd dlZd dlmZ  ej                    Z G d d          Z	 e	            Z
dS )    )OptionalN)Serverc                   J    e Zd Zd Zd	dedee         fdZdefdZd Zd Z	dS )
ServerManagerc                 D    t          j                    | _        i | _        d S N)	threadingLock_lock_serversselfs    d/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/milvus_lite/server_manager.py__init__zServerManager.__init__   s    ^%%
    Npathreturnc                    t          j        |                                                                          }| j        5  t          |          | j        vrxt          t          |          |          }|                                s	 d d d            d S |	                                s	 d d d            d S || j        t          |          <   | j        t          |                   j
        cd d d            S # 1 swxY w Y   d S r   )pathlibPathabsoluteresolver   strr   r   initstartuds_path)r   r   argsss       r   start_and_get_urizServerManager.start_and_get_uri   s\   |D!!**,,4466Z 	5 	54yy--3t99d++vvxx  		5 	5 	5 	5 	5 	5 	5 	5
 wwyy  	5 	5 	5 	5 	5 	5 	5 	5 ,-c$ii(=T+4	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s    A	C:C:85C::C>C>c                    t          j        |                                                                          }| j        5  t          |          | j        vr6t                              dt          |                     	 d d d            d S | j        t          |                   	                                 | j        t          |          = d d d            d S # 1 swxY w Y   d S )NzNo local milvus in path %s)
r   r   r   r   r   r   r   loggerwarningstop)r   r   s     r   release_serverzServerManager.release_server)   s   |D!!**,,4466Z 	) 	)4yy--;SYYGGG	) 	) 	) 	) 	) 	) 	) 	) M#d))$))+++c$ii(	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s    A CACC"Cc                 t    | j                                         D ]}|                                 i | _         d S r   )r   valuesr#   )r   r   s     r   release_allzServerManager.release_all2   s9    %%'' 	 	AFFHHHHr   c                 n    | j         5  |                                  d d d            d S # 1 swxY w Y   d S r   )r   r'   r   s    r   __del__zServerManager.__del__7   s    Z 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   *..r   )
__name__
__module____qualname__r   r   r   r   r$   r'   r)    r   r   r   r      s          
5 
5c 
5# 
5 
5 
5 
5)3 ) ) ) )  
    r   r   )typingr   r	   loggingr   milvus_lite.serverr   	getLoggerr!   r   server_manager_instancer-   r   r   <module>r3      s                % % % % % % 
			! ! ! ! ! ! ! !H (-//   r   