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:
   
   ![Screenshot from 2023-08-04 
11-26-38](https://github.com/apache/airflow/assets/65743084/f890a7a6-cf5b-4def-a717-4e4c1cb8dd85)
   



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

Reply via email to