You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Adrian Partl (JIRA)" <ji...@apache.org> on 2017/03/22 14:53:41 UTC
[jira] [Work started] (AIRFLOW-1027) Task details cannot be shown
when PythonOperator calls a partial function
[ https://issues.apache.org/jira/browse/AIRFLOW-1027?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on AIRFLOW-1027 started by Adrian Partl.
---------------------------------------------
> Task details cannot be shown when PythonOperator calls a partial function
> -------------------------------------------------------------------------
>
> Key: AIRFLOW-1027
> URL: https://issues.apache.org/jira/browse/AIRFLOW-1027
> Project: Apache Airflow
> Issue Type: Bug
> Components: ui
> Affects Versions: Airflow 1.7.1
> Reporter: Adrian Partl
> Assignee: Adrian Partl
> Priority: Minor
>
> Showing task details of a PythonOperator that uses a `functools.partial` as a callable results in the following error:
> {noformat}
> File "/usr/lib/python2.7/site-packages/airflow/www/views.py", line 909, in task
> special_attrs_rendered[attr_name] = attr_renderer[attr_name](source)
> File "/usr/lib/python2.7/site-packages/airflow/www/views.py", line 224, in <lambda>
> inspect.getsource(x), lexers.PythonLexer),
> File "/usr/lib64/python2.7/inspect.py", line 701, in getsource
> lines, lnum = getsourcelines(object)
> File "/usr/lib64/python2.7/inspect.py", line 690, in getsourcelines
> lines, lnum = findsource(object)
> File "/usr/lib64/python2.7/inspect.py", line 526, in findsource
> file = getfile(object)
> File "/usr/lib64/python2.7/inspect.py", line 420, in getfile
> 'function, traceback, frame, or code object'.format(object))
> TypeError: <functools.partial object at 0x5ca4d08> is not a module, class, method, function, traceback, frame, or code object
> {noformat}
> A sample dag definition for this is:
> {noformat}
> def func_with_two_args(arg_1, arg_2):
> pass
> partial_func = functools.partial(func_with_two_args, arg_1=1)
> dag = DAG(dag_id='test_issue_1333_dag', default_args=default_args)
> dag_task1 = PythonOperator(
> task_id='test_dagrun_functool_partial',
> dag=dag,
> python_callable=partial_func)
> {noformat}
> I will provide a PR with a fix for this.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)