ref #7: [feat] add cleanup task
This commit is contained in:
parent
33ebcb1a82
commit
bae540427a
4 changed files with 113 additions and 8 deletions
|
|
@ -84,7 +84,24 @@ class CleanupExpiredSandboxes:
|
|||
self._logger = logger
|
||||
|
||||
def execute(self) -> list[SandboxSession]:
|
||||
raise NotImplementedError
|
||||
now = self._clock.now()
|
||||
expired_sessions = self._repository.list_expired(now)
|
||||
cleaned_sessions: list[SandboxSession] = []
|
||||
|
||||
for session in expired_sessions:
|
||||
self._runtime.stop(session.container_id)
|
||||
self._repository.delete(session.session_id)
|
||||
cleaned_sessions.append(session)
|
||||
self._logger.info(
|
||||
'sandbox_cleaned',
|
||||
attrs={
|
||||
'chat_id': session.chat_id,
|
||||
'session_id': session.session_id,
|
||||
'container_id': session.container_id,
|
||||
},
|
||||
)
|
||||
|
||||
return cleaned_sessions
|
||||
|
||||
|
||||
def _new_session_id() -> str:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue