Anu*_*paM 7 airflow airflow-scheduler
我是气流新手,尝试通过启动气流网络服务器和调度程序来运行 dag。在我关闭调度程序和气流网络服务器后,气流进程仍在运行。
ps aux | grep airflow 显示 2 个气流网络服务器正在运行,并且调度程序正在为所有 dags 运行。
我尝试跑步,kill $(ps aux | grep airflow | awk '{print $2}')但没有帮助。
Ser*_*kov 11
如果您在本地运行 Airflow 并使用两个命令airflow scheduler和启动它airflow webserver,那么这些进程将在前台运行。因此,只需对每个进程按Ctrl-C即可终止它们及其所有子进程。
如果您没有在前台运行这两个进程,还有另一种方法。Airflow 在其主目录(默认情况下)中创建带有调度程序和gunicorn 服务器进程 ID 的文件~/airflow/。
跑步
kill $(cat ~/airflow/airflow-scheduler.pid)
Run Code Online (Sandbox Code Playgroud)
应该终止调度程序。
不幸的是,airflow-webserver.pid包含gunicorn服务器的PID,而不是启动它的初始Airflow命令(它是gunicorn进程的父进程)。因此,我们首先必须找到gunicorn进程的父进程PID,然后杀死该父进程。
跑步
kill $(ps -o ppid= -p $(cat ~/airflow/airflow-webserver.pid))
Run Code Online (Sandbox Code Playgroud)
应该终止网络服务器。
如果简单地运行kill(即发送 SIGTERM)这些进程不起作用,您可以随时尝试发送 SIGKILL: kill -9 <pid>。这绝对应该杀死他们。
注意:从 Airflow 2.2.0 开始,有一个standaloneCLI 命令可以运行本地开发所需的所有 Airflow 组件。该命令可以简单地终止Ctrl-C,它会自动关闭所有正在运行的组件。
| 归档时间: |
|
| 查看次数: |
25366 次 |
| 最近记录: |