dstandish commented on a change in pull request #16700:
URL: https://github.com/apache/airflow/pull/16700#discussion_r660268616
##########
File path: airflow/jobs/base_job.py
##########
@@ -94,7 +94,8 @@ class BaseJob(Base, LoggingMixin):
def __init__(self, executor=None, heartrate=None, *args, **kwargs):
self.hostname = get_hostname()
- self.executor = executor or ExecutorLoader.get_default_executor()
+ if self.__class__.__name__ != "LocalTaskJob":
+ self.executor = executor or ExecutorLoader.get_default_executor()
Review comment:
another option would be to make `executor` a cached property and
`executor_class` a property. this would simply get them out of init, which i
think would be enough if they are not accessed in `LocalTaskJob` anyway (though
if one wanted to be explicit they could override those properties with not
implemented in LocalTaskJob)
```python
@cached_property
def executor(self):
return self._executor or ExecutorLoader.get_default_executor() # store
init param `executor` as private attr `_executor`
```
this has two benefits, one is you don't have to reference the subclass name
here (as in your first approach) and the other is you don't have to make as
many changes re executor in init params)
--
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]