Python 3.x 气流测试任务正常工作,但在dag中运行失败
我想知道为什么以下命令可以工作:Python 3.x 气流测试任务正常工作,但在dag中运行失败,python-3.x,airflow,Python 3.x,Airflow,我想知道为什么以下命令可以工作: 气流测试[dag_id][task_id]20200421 但是如果我在UI中手动触发dag,同样的任务就会失败 任务本身相当简单,基本上是: cmd='ls'#其他命令 操作系统(cmd) os库是导入的,就像上面所说的,在测试中它确实可以工作,但在运行中它却不能。我的代码是用python编写的,这个特定的dag需要在终端中运行特定的命令 你知道这怎么可能吗 如果你需要更多信息,请在评论中告诉我 这种行为的一个可能原因可能是,您的任务之前在数据库中缓存执行 所
气流测试[dag_id][task_id]20200421
但是如果我在UI中手动触发dag,同样的任务就会失败
任务本身相当简单,基本上是:
cmd='ls'#其他命令
操作系统(cmd)
os库是导入的,就像上面所说的,在测试中它确实可以工作,但在运行中它却不能。我的代码是用python编写的,这个特定的dag需要在终端中运行特定的命令
你知道这怎么可能吗
如果你需要更多信息,请在评论中告诉我 这种行为的一个可能原因可能是,您的任务之前在数据库中缓存执行
所以测试可以工作,但当您调用airflow来运行DAG时,它会失败,因为它已经在后台运行,或者状态缓存在数据库中。尝试运行$
resetdb
此行为的一个可能原因可能是,您的任务先前已在数据库中缓存
所以测试可以工作,但当您调用airflow来运行DAG时,它会失败,因为它已经在后台运行,或者状态缓存在数据库中。请尝试运行$重置数据库
回答:
此问题是由运行脚本的不同用户造成的
气流运行
使用不同的用户(和(子)进程)作为气流测试
。切换到airflow用户不起作用,但为airflow用户提供更多权限(在linux中)应该起作用 回答:
此问题是由运行脚本的不同用户造成的
气流运行
使用不同的用户(和(子)进程)作为气流测试
。切换到airflow用户不起作用,但为airflow用户提供更多权限(在linux中)应该起作用 这是否与从UI中删除(失败的)dag运行相同?此外,这不是问题,因为我在新的一天尝试了新的dag运行,但仍然失败,而没有缓存的dag运行。这是否与从UI中删除(失败的)dag运行相同?此外,这也不是问题,因为我在新的一天尝试了新的dag运行,但它仍然失败,因为没有缓存的dag运行。