我的DAG中有一个python操作符。python可调用函数返回bool值。但是,当我运行DAG时,我得到了下面的错误。在
TypeError: 'bool' object is not callable
我修改了这个函数,使它什么也不返回,但是我仍然得到下面的错误
ERROR - 'NoneType' object is not callable
下面是我的狗狗
def check_poke(threshold,sleep_interval):
flag=snowflake_poke(1000,10).poke()
#print(flag)
return flag
dependency = PythonOperator(
task_id='poke_check',
#python_callable=check_poke(129600,600),
provide_context=True,
python_callable=check_poke(129600,600),
dag=dag)
end = BatchEndOperator(
queue=QUEUE,
dag=dag)
start.set_downstream(dependency)
dependency.set_downstream(end)
我不知道我错过了什么。有人能帮我解决这个问题吗…对气流来说是个新手。在
我在dag中编辑了python操作符,如下所示
^{pr2}$但是现在,我得到了一个不同的错误。在
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/airflow/models.py", line 1245, in run
result = task_copy.execute(context=context)
File "/usr/local/lib/python2.7/dist-packages/airflow/operators/python_operator.py", line 66, in execute
return_value = self.python_callable(*self.op_args, **self.op_kwargs)
TypeError: () takes no arguments (25 given)
[2019-02-15 05:30:25,375] {models.py:1298} INFO - Marking task as UP_FOR_RETRY
[2019-02-15 05:30:25,393] {models.py:1327} ERROR - () takes no arguments (25 given)
同意@Dan D.对这个问题的看法;但令人费解的是,为什么他的解决方案不起作用(它在
python
shell中确实有效)看看这是否会给你带来好运(它只是@Dan D.解决方案的冗长变体)
参数名提供了它。您正在传递调用的结果,而不是可调用的。在
第二个错误说明调用可调用的参数有25个。所以
^{pr2}$lambda:
不起作用。下面的方法可能有用,但忽略25个论点确实值得怀疑。在相关问题 更多 >
编程相关推荐