RehanAhmad25 commented on code in PR #69925:
URL: https://github.com/apache/airflow/pull/69925#discussion_r3652979915
##########
providers/standard/src/airflow/providers/standard/sensors/time.py:
##########
@@ -101,10 +105,9 @@ def execute_complete(self, context: Context, event: Any =
None) -> None:
return None
def poke(self, context: Context) -> bool:
- self.log.info("Checking if the time (%s) has come",
self.target_datetime)
-
- # self.target_date has been converted to UTC, so we do not need to
convert timezone
- return timezone.utcnow() > self.target_datetime
+ target_datetime = self.target_datetime
+ self.log.info("Checking if the time (%s) has come", target_datetime)
+ return timezone.utcnow() > target_datetime
Review Comment:
This one's intentional, not cosmetic, your parenthetical guess is right.
target_datetime is now a computed property (calls datetime.now() fresh on every
access), so calling self.target_datetime twice in this method could return two
slightly different instants if the wall clock ticks past the target moment
between the log call and the comparison. Storing it in a local variable once
guarantees the logged value and the compared value are the same instant. I'd
like to keep this as-is rather than revert, let me know if you still see it
differently.
##########
providers/standard/src/airflow/providers/standard/sensors/time.py:
##########
@@ -101,10 +105,9 @@ def execute_complete(self, context: Context, event: Any =
None) -> None:
return None
def poke(self, context: Context) -> bool:
- self.log.info("Checking if the time (%s) has come",
self.target_datetime)
-
- # self.target_date has been converted to UTC, so we do not need to
convert timezone
- return timezone.utcnow() > self.target_datetime
+ target_datetime = self.target_datetime
+ self.log.info("Checking if the time (%s) has come", target_datetime)
+ return timezone.utcnow() > target_datetime
Review Comment:
This one's intentional, not cosmetic, your parenthetical guess is right.
target_datetime is now a computed property (calls datetime.now() fresh on every
access), so calling self.target_datetime twice in this method could return two
slightly different instants if the wall clock ticks past the target moment
between the log call and the comparison. Storing it in a local variable once
guarantees the logged value and the compared value are the same instant. I'd
like to keep this as-is rather than revert, let me know if you still see it
differently.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]