我有一个 dag,它定期检查要生成的新工作流(动态 DAG),如果找到,则创建它们。(参考:调度程序未添加动态 dag)
上面的 DAG 正在运行,动态 DAG 正在创建并列在网络服务器中。这里有两个问题:
错误:
DAG“app01_user”似乎丢失了。
所有其他动态生成的 DAG 也是如此。我已经编译了 Python 脚本并没有发现错误。
Edit1:我尝试清除所有数据并运行“气流运行”。它运行成功,但没有将动态生成的 DAG 添加到“airflow list_dags”。但是当运行命令“airflow list_dags”时,它加载并执行了 DAG(它生成了动态 DAG)。动态 DAG 也列出如下:
[root@cmnode dags]# airflow list_dags
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8\nLANG=en_US.UTF-8)
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8\nLANG=en_US.UTF-8)
[2019-08-13 00:34:31,692] {settings.py:182} INFO - settings.configure_orm(): Using pool settings. pool_size=15, pool_recycle=1800, pid=25386
[2019-08-13 00:34:31,877] {__init__.py:51} INFO - Using executor LocalExecutor
[2019-08-13 00:34:32,113] {__init__.py:305} INFO - …
Run Code Online (Sandbox Code Playgroud) 考虑以下情形:
fn(1)调用fn(2),然后fn(2)调用fn(3),现在fn(3)应该将控件传递给fn(1)而不是fn(2),并且控件不得再次返回。
关于这一点,我尝试使用goto,但是goto在函数之间不起作用,它仅是局部跳转。
我想检查是否可以使用其他方法将控件发送到另一个函数
注意:根据我的探索,在这种情况下,没有全局变量,指向函数的指针将起作用