gpt4 book ai didi

python-3.x - 使用 Apache Airflow 提交和监控 SLURM 作业

转载 作者:行者123 更新时间:2023-12-03 15:50:52 31 4
gpt4 key购买 nike

我正在使用 Slurm 作业调度程序在集群上运行我的作业。使用 Apache Airflow 提交 Slurm 作业并检查其状态的最有效方法是什么?

我能够使用 SSHOperator 远程提交我的工作并每分钟检查一次他们的状态,直到完成,但我想知道是否有人知道更好的方法。下面是我写的SSHOperator。

sshHook = SSHHook(ssh_conn_id='my_conn_id',keepalive_interval=240)

task_ssh_bash = """
cd ~/projects &&
JID=$(sbatch myjob.sh)
echo $JID
sleep 10s # needed
ST="PENDING"
while [ "$ST" != "COMPLETED" ] ; do
ST=$(sacct -j ${JID##* } -o State | awk 'FNR == 3 {print $1}')
sleep 1m
if [ "$ST" == "FAILED" ]; then
echo 'Job final status:' $ST, exiting...
exit 122
fi
echo $ST
"""

task_ssh = SSHOperator(
task_id='test_ssh_operator',
ssh_hook=sshHook,
do_xcom_push=True,
command=task_ssh_bash,
dag=dag)

最佳答案

我不能给出一个可证明的例子,但我倾向于实现一个 airflow sensor在诸如 pyslurm 之类的东西之上.有趣的是,我只是在查看是否有人已经这样做时才遇到您的问题!
编辑:regarding the use of excecutors for submitting jobs too 上有一个有趣的话题
祝你好运

关于python-3.x - 使用 Apache Airflow 提交和监控 SLURM 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56322767/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com