Matthew Revell created AIRFLOW-2099: ---------------------------------------
Summary: Task details cannot be shown when PythonOperator calls partial function / class instance with __call__ Key: AIRFLOW-2099 URL: https://issues.apache.org/jira/browse/AIRFLOW-2099 Project: Apache Airflow Issue Type: Bug Components: ui Affects Versions: Airflow 1.8 Reporter: Matthew Revell Assignee: Matthew Revell There are several scenarios where the inspect.getsource() method fails with: {{object at 0x00000000> is not a module, class, method, function, traceback, frame, or code object}} One such scenario is described in [AIRFLOW-1027|https://issues.apache.org/jira/browse/AIRFLOW-1027] where a partial function is used. Another is when an instance of a class which implements __call__() is used. Example: {{class MyClass(object):}} {{ def __init__(self):}} {{ pass}} {{ def __call__(self):}} {{ pass}} {{my_class = MyClass()}} {{dag_task = PythonOperator(}} {{ task_id='dag_task',}} {{ dag=dag, }} {{ python_callable=my_class,}} {{)}} There exists a PR for AIRFLOW-1027, however, this fix does not address this other scenario, and also does not guard against any other edge cases which my result in this error in future. A better solution would be to catch known scenarios with work arounds, and default to reporting that the source is unavailable for unknown cases. This would at least display the Task Instance details in every case. -- This message was sent by Atlassian JIRA (v7.6.3#76005)