File tree Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -110,6 +110,14 @@ def info(self) -> dict[str, Any]:
110110        """ 
111111        ...
112112
113+     @abstractmethod  
114+     async  def  reset (self ) ->  None :
115+         """ 
116+         Reset the connection object. This is useful for backends that 
117+         reuse connections or have state that needs to be cleared. 
118+         """ 
119+         ...
120+ 
113121    async  def  validate (self ):
114122        """ 
115123        Handle final setup and validate the backend is ready for use. 
@@ -126,6 +134,8 @@ async def validate(self):
126134        ):  # type: ignore[attr-defined] 
127135            pass 
128136
137+         await  self .reset ()
138+ 
129139    @abstractmethod  
130140    async  def  check_setup (self ):
131141        """ 
Original file line number Diff line number Diff line change @@ -157,6 +157,15 @@ def info(self) -> dict[str, Any]:
157157            "chat_completions_path" : CHAT_COMPLETIONS_PATH ,
158158        }
159159
160+     async  def  reset (self ) ->  None :
161+         """ 
162+         Reset the connection object. This is useful for backends that 
163+         reuse connections or have state that needs to be cleared. 
164+         For this backend, it closes the async client if it exists. 
165+         """ 
166+         if  self ._async_client  is  not None :
167+             await  self ._async_client .aclose ()
168+ 
160169    async  def  check_setup (self ):
161170        """ 
162171        Check if the backend is setup correctly and can be used for requests. 
@@ -361,7 +370,7 @@ def _get_async_client(self) -> httpx.AsyncClient:
361370
362371        :return: The async HTTP client. 
363372        """ 
364-         if  self ._async_client  is  None :
373+         if  self ._async_client  is  None   or   self . _async_client . is_closed :
365374            client  =  httpx .AsyncClient (
366375                http2 = self .http2 ,
367376                timeout = self .timeout ,
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments