如何取消 DependencyNeverSatisfied 中的作业

问题描述 投票:0回答:1

我想清理队列并删除状态为 DependencyNeverSatisfied 的待处理作业。

我想知道是否存在任何选项允许它批量执行,而不是为该状态下的每个作业 ID 执行 scancel

slurm
1个回答
2
投票

有多种方法可以使用 Bash 语句来解决这个问题。一种可能的解决方案是:

squeue -h -t PD -O jobid,reason | awk '/DependencyNeverSatisfied/ {print $1}' | xargs scancel

squeue
命令与
-h
选项一起运行以删除标头,
-t
选项用于过滤掉不处于 PENDING 状态的作业,
-O
用于仅显示作业 ID 和原因。该列表被馈送到
awk
,打印那些因“DependencyNeverSatisfied”原因而待处理的作业的作业 id,然后馈送到
xargs
以在这些作业 id 上调用
scancel

作为健全性检查,您可以插入

echo
来查看将执行什么而不是实际执行它:

squeue -h  -t PD -O jobid,reason | awk '/DependencyNeverSatisfied/ {print $1}' | xargs echo scancel
© www.soinside.com 2019 - 2024. All rights reserved.