Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@


from collections.abc import Collection, Mapping
from datetime import datetime, timezone
from typing import TYPE_CHECKING, Any

from airflow.providers.standard.exceptions import HITLTimeoutError, HITLTriggerEventError
Expand All @@ -36,6 +35,7 @@
from airflow.providers.standard.version_compat import BaseOperator
from airflow.sdk.definitions.param import ParamsDict
from airflow.sdk.execution_time.hitl import upsert_hitl_detail
from airflow.sdk.timezone import utcnow

if TYPE_CHECKING:
from airflow.sdk.definitions.context import Context
Expand Down Expand Up @@ -109,7 +109,7 @@ def execute(self, context: Context):
params=self.serialized_params,
)
if self.execution_timeout:
timeout_datetime = datetime.now(timezone.utc) + self.execution_timeout
timeout_datetime = utcnow() + self.execution_timeout
else:
timeout_datetime = None
self.log.info("Waiting for response")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
get_hitl_detail_content_detail,
update_htil_detail_response,
)
from airflow.sdk.timezone import utcnow
from airflow.triggers.base import BaseTrigger, TriggerEvent
from airflow.utils import timezone


class HITLTriggerEventSuccessPayload(TypedDict, total=False):
Expand Down Expand Up @@ -97,7 +97,7 @@ def serialize(self) -> tuple[str, dict[str, Any]]:
async def run(self) -> AsyncIterator[TriggerEvent]:
"""Loop until the Human-in-the-loop response received or timeout reached."""
while True:
if self.timeout_datetime and self.timeout_datetime < timezone.utcnow():
if self.timeout_datetime and self.timeout_datetime < utcnow():
if self.defaults is None:
yield TriggerEvent(
HITLTriggerEventFailurePayload(
Expand Down