1414
1515import asyncio
1616import uuid
17- from datetime import datetime
1817
1918import httpx
2019import structlog
2726from app .models .cargo import Cargo
2827from app .models .session import Session , SessionStatus
2928from app .services .http import http_client_manager
29+ from app .utils .datetime import utcnow
3030
3131logger = structlog .get_logger ()
3232
@@ -79,8 +79,8 @@ async def create(
7979 profile_id = profile .id ,
8080 desired_state = SessionStatus .PENDING ,
8181 observed_state = SessionStatus .PENDING ,
82- created_at = datetime . utcnow (),
83- last_active_at = datetime . utcnow (),
82+ created_at = utcnow (),
83+ last_active_at = utcnow (),
8484 )
8585
8686 self ._db .add (session )
@@ -180,7 +180,7 @@ async def _ensure_running_single(
180180 error = str (e ),
181181 )
182182 session .observed_state = SessionStatus .FAILED
183- session .last_observed_at = datetime . utcnow ()
183+ session .last_observed_at = utcnow ()
184184 await self ._db .commit ()
185185 raise
186186
@@ -211,7 +211,7 @@ async def _ensure_running_single(
211211 # Only persist endpoint after readiness succeeds.
212212 session .endpoint = endpoint
213213 session .observed_state = SessionStatus .RUNNING
214- session .last_observed_at = datetime . utcnow ()
214+ session .last_observed_at = utcnow ()
215215 await self ._db .commit ()
216216
217217 except Exception as e :
@@ -235,7 +235,7 @@ async def _ensure_running_single(
235235 session .container_id = None
236236 session .endpoint = None
237237 session .observed_state = SessionStatus .FAILED
238- session .last_observed_at = datetime . utcnow ()
238+ session .last_observed_at = utcnow ()
239239 await self ._db .commit ()
240240 raise
241241
@@ -316,7 +316,7 @@ async def _ensure_running_multi(
316316 session .endpoint = primary_info .endpoint
317317 session .containers = [ci .to_dict () for ci in container_infos ]
318318 session .observed_state = SessionStatus .RUNNING
319- session .last_observed_at = datetime . utcnow ()
319+ session .last_observed_at = utcnow ()
320320 await self ._db .commit ()
321321
322322 self ._log .info (
@@ -356,7 +356,7 @@ async def _ensure_running_multi(
356356 session .endpoint = None
357357 session .containers = None
358358 session .observed_state = SessionStatus .FAILED
359- session .last_observed_at = datetime . utcnow ()
359+ session .last_observed_at = utcnow ()
360360 await self ._db .commit ()
361361 raise
362362
@@ -628,7 +628,7 @@ async def stop(self, session: Session) -> None:
628628 session .observed_state = SessionStatus .STOPPED
629629 session .endpoint = None
630630 session .containers = None
631- session .last_observed_at = datetime . utcnow ()
631+ session .last_observed_at = utcnow ()
632632 await self ._db .commit ()
633633
634634 async def destroy (self , session : Session ) -> None :
@@ -708,7 +708,7 @@ async def refresh_status(self, session: Session) -> Session:
708708 session .observed_state = SessionStatus .STOPPED
709709 session .container_id = None
710710
711- session .last_observed_at = datetime . utcnow ()
711+ session .last_observed_at = utcnow ()
712712 await self ._db .commit ()
713713
714714 return session
@@ -719,7 +719,7 @@ async def touch(self, session_id: str) -> None:
719719 session = result .scalars ().first ()
720720
721721 if session :
722- session .last_active_at = datetime . utcnow ()
722+ session .last_active_at = utcnow ()
723723 await self ._db .commit ()
724724
725725 async def _probe_and_recover_if_dead (
@@ -792,7 +792,7 @@ async def _probe_and_recover_if_dead(
792792 session .container_id = None
793793 session .endpoint = None
794794 session .observed_state = SessionStatus .PENDING
795- session .last_observed_at = datetime . utcnow ()
795+ session .last_observed_at = utcnow ()
796796 await self ._db .commit ()
797797
798798 self ._log .info (
0 commit comments