Airflow 气流:错误:无法识别的参数-气流计划程序错误
我创建了一个DAG,如下所示:Airflow 气流:错误:无法识别的参数-气流计划程序错误,airflow,Airflow,我创建了一个DAG,如下所示: args = { 'owner': 'airflow', 'start_date': datetime(2018, 12, 30), 'retries': 5, 'retry_delay': timedelta(minutes=30) } dag = DAG( dag_id='TEST', default_args=args, schedule_interval=timedelta(minutes=30)
args = {
'owner': 'airflow',
'start_date': datetime(2018, 12, 30),
'retries': 5,
'retry_delay': timedelta(minutes=30)
}
dag = DAG(
dag_id='TEST',
default_args=args,
schedule_interval=timedelta(minutes=30),
max_active_runs=1,
catchup=False)
task_op = DummyOperator(task_id='task', dag=dag)
将其保存为my_test.py
并上载到DAG文件夹
从UI手动启动DAG。DAG已排队,但任务立即失败。任务没有日志,但计划程序日志显示
usage: airflow [-h]
{resetdb,render,variables,connections,pause,task_failed_deps,version,trigger_dag,initdb,test,unpause,dag_state,run,list_tasks,backfill,list_dags,kerberos,worker,webserver,flower,scheduler,task_state,pool,serve_logs,clear,upgradedb}
...
airflow: error: unrecognized arguments: my_test.py
我以前从未遇到过这种情况。有什么问题
有一个类似的问题,但完全不同。这里的解决方案与此无关
请告知此处的问题是什么我认为您应该
grep-r'ArgumentParser'path/to/dags_文件夹
,以确认它与您发现的其他问题和答案不同。如果没有更多的上下文,这条消息似乎不会由计划的dag_运行在调度程序的日志中生成,而是由dagbag的dag解析循环生成
我这样说是因为您与下面添加的导入共享的DAG在我的1.10安装中正常工作
from airflow.models import DAG
from airflow.operators.dummy_operator import DummyOperator
from datetime import datetime, timedelta
它也可能值得一看:目录名中的空格导致这种异常;我不认为这是发生在你身上的事,但值得排除。此外,报告似乎显示,在v1.7中,错误的前几行记录了失败的完整命令,如:
命令“气流运行清理测试选择用户2016-08-03T18:20:38.308518——本地-sd DAGS\u文件夹/test DAG/test.py”返回非零退出状态2
气流:错误:无法识别的参数:DAG/test.py
[2016-08-03 18:39:54971:错误/主进程]任务气流执行器芹菜执行器执行命令[624cf49c-e765-468e-9227-fd2941ddb779]引发意外:气流异常(“芹菜命令失败”)
它显示在v1.9中,失败的原始命令输出在
气流:错误:无法识别的参数行下方。这是哪个执行器?Airflow计划一个命令,如Airflow run dag_id task_id
,除非您将dag或任务命名为my_test.py
,否则该任务看起来不应该在命令本身中。@dlamblin localexeccutor。这不是我的第一次。其他一切都在我的机器上工作。由于某种原因,这个失败了,我不知道为什么。你有堆栈跟踪吗?我认为它是由:或L32抛出的,这意味着它是在核心ArgumentParser模块中实现的。我想,在重新抛出之前,在输出当前参数的那些行周围进行一次尝试捕捉,您会发现这很有用。@dlamblin没有跟踪日志。该任务从未创建日志。问题的唯一迹象来自airflow-scheduler.err,它显示了我发布的消息。没别的了,我删除了DAG。用新的文件名和新的dag_id重新创建了它,现在同样的代码可以工作了。我想这是一种奇怪的气流failure@Luis很高兴听到事情解决了;有点令人不安的是,我们不知道它为什么会发生。好吧,气流回购充满了错误报告,所以即使我可以再次复制它,我怀疑它是否会被修复。但是,我可以建议修复写入日志的错误。显示气流:错误:无法识别的参数:my_test.py
不够。。同时显示airflow实际尝试执行的命令有助于解决这个问题。也许你可以在社区中施加一些条件来应用这样的修复。@Luis从我链接到答案的几个Bug报告来看,失败的原始命令应该记录在你摘录的下面或上面。哦,我明白了,那只是芹菜遗嘱执行人,不是本地遗嘱执行人。让我看看它是否能被普及。@dlambin你能想出它为什么会发生,以及它是否会被气流固定吗?