@@ -399,51 +399,7 @@ async def __aexit__(
399399 exc_val : BaseException | None ,
400400 exc_tb : types .TracebackType | None ,
401401 ) -> None :
402- if self ._kernel_id is not None :
403- try :
404- logger .debug ("Shutting down kernel" )
405- try :
406- async with aiohttp .ClientSession () as session :
407- async with session .post (
408- f"{ self ._base_url } /api/kernels/{ self ._kernel_id } /shutdown" ,
409- params = {"token" : self ._token },
410- ) as response :
411- response .raise_for_status ()
412- except Exception as e :
413- logger .warning (f"Failed to gracefully shutdown kernel via API: { e } " )
414- self ._kernel_id = None
415- except Exception :
416- logger .exception ("Failed to shutdown kernel" )
417-
418- if self ._container is not None and self .cleanup :
419- try :
420- logger .debug (f"Stopping container { self ._container .id [:12 ]} " )
421- await self ._container .stop (t = 5 )
422-
423- logger .debug (f"Removing container { self ._container .id [:12 ]} " )
424- await self ._container .delete (force = self .force_remove )
425- self ._container = None
426-
427- # Log success
428- logger .debug ("Container successfully removed" )
429- except Exception as e :
430- logger .exception (f"Failed to stop/remove container: { e } " )
431-
432- if self ._client is not None :
433- try :
434- logger .debug ("Closing Docker client" )
435- await self ._client .close ()
436- self ._client = None
437- except Exception :
438- logger .exception ("Failed to close Docker client" )
439-
440- if self ._temp_dir is not None :
441- try :
442- logger .debug (f"Cleaning up temporary directory { self ._temp_dir } " )
443- shutil .rmtree (self ._temp_dir )
444- self ._temp_dir = None
445- except Exception :
446- logger .exception ("Failed to clean up temporary directory" )
402+ await self .shutdown ()
447403
448404 async def get_container_logs (self ) -> str :
449405 """Get the logs of the container."""
0 commit comments