11import asyncio
22import math
33import time
4- from datetime import datetime
4+ from datetime import datetime , timezone
55from typing import Dict , Optional
66
77from ..._errors import ApifyApiError
@@ -20,7 +20,7 @@ class ActorJobBaseClient(ResourceClient):
2020 """Base sub-client class for actor runs and actor builds."""
2121
2222 def _wait_for_finish (self , wait_secs : Optional [int ] = None ) -> Optional [Dict ]:
23- started_at = datetime .now ()
23+ started_at = datetime .now (timezone . utc )
2424 should_repeat = True
2525 job : Optional [Dict ] = None
2626 seconds_elapsed = 0
@@ -38,7 +38,7 @@ def _wait_for_finish(self, wait_secs: Optional[int] = None) -> Optional[Dict]:
3838 )
3939 job = _parse_date_fields (_pluck_data (response .json ()))
4040
41- seconds_elapsed = math .floor (((datetime .now () - started_at ).total_seconds ()))
41+ seconds_elapsed = math .floor (((datetime .now (timezone . utc ) - started_at ).total_seconds ()))
4242 if (
4343 ActorJobStatus (job ['status' ])._is_terminal or (wait_secs is not None and seconds_elapsed >= wait_secs )
4444 ):
@@ -77,7 +77,7 @@ class ActorJobBaseClientAsync(ResourceClientAsync):
7777 """Base async sub-client class for actor runs and actor builds."""
7878
7979 async def _wait_for_finish (self , wait_secs : Optional [int ] = None ) -> Optional [Dict ]:
80- started_at = datetime .now ()
80+ started_at = datetime .now (timezone . utc )
8181 should_repeat = True
8282 job : Optional [Dict ] = None
8383 seconds_elapsed = 0
@@ -95,7 +95,7 @@ async def _wait_for_finish(self, wait_secs: Optional[int] = None) -> Optional[Di
9595 )
9696 job = _parse_date_fields (_pluck_data (response .json ()))
9797
98- seconds_elapsed = math .floor (((datetime .now () - started_at ).total_seconds ()))
98+ seconds_elapsed = math .floor (((datetime .now (timezone . utc ) - started_at ).total_seconds ()))
9999 if (
100100 ActorJobStatus (job ['status' ])._is_terminal or (wait_secs is not None and seconds_elapsed >= wait_secs )
101101 ):
0 commit comments