o-nikolas commented on code in PR #33084:
URL: https://github.com/apache/airflow/pull/33084#discussion_r1284728685
##########
airflow/jobs/job.py:
##########
@@ -117,6 +115,15 @@ def __init__(self, executor=None, heartrate=None,
**kwargs):
def executor(self):
return ExecutorLoader.get_default_executor()
+ @cached_property
+ def heartrate(self):
+ if self.job_type == "TriggererJob":
+ return conf.getfloat("triggerer", "JOB_HEARTBEAT_SEC")
+ else:
+ # Heartrate used to be hardcoded to scheduler, so in all other
+ # cases continue to use that value for back compat
+ return conf.getfloat("scheduler", "JOB_HEARTBEAT_SEC")
Review Comment:
After looking deeper, I don't think this breaks those lines at all. If a
value is assigned to heartbeat directly in the constructor then the
cached_property is not used. `self.executor` is already working in this way if
you look above.
I added a unit test to confirm this and also checked manually with a dummy
class in a python session:

--
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]