我对 Airflow 很陌生。但是,我遇到了新手在处理计划间隔时遇到的相同的时间和间隔问题。因此,我想尝试通过 cli 从外部触发 DAG。这可以通过简单地进入控制台并输入示例来完成:
airflow trigger_dag tutorial
(使用气流泊坞窗图像:1.10.9)
接下来我想看看相同的命令是否适用于常规的 cron 作业,因为我想像 cron 作业时间一样触发它。因此,我创建了一个类似这样的 cron 工作:
* * * * * airflow trigger_dag tutorial
然而,这现在不会触发 DAG。 在其他几个实验中,我可以通过 shell 脚本中的相同命令手动触发 DAG,但不能通过 cron 作业使用 sh 命令来完成。 (我已经验证了 cron 可以正常工作,就像我尝试只输出一个普通文件一样。)
谁能告诉我如何通过常规的 cron 作业触发 DAG? 或者这里出了什么问题?
答案 0 :(得分:1)
很可能您的用户配置文件中有一些环境变量 - 也可能是 cron 中不可用的 .bash_profile 或 .bashrc。 Cron 不会“获取”任何用户配置文件 - 如果要设置它们,则需要在运行脚本之前手动获取它们。
还向您展示如何调试它的好文章在这里:https://www.ibm.com/support/pages/cron-environment-and-cron-job-failures
答案 1 :(得分:0)
尝试使用 Airflow 的完整路径更新 cron 命令。要获取安装路径,您可以执行:
which airflow
现在更新 cron 命令。