Skip to content

时间限制

为任务设置时间限制可以防止任务无限运行。当运行中的任务超过限制时,gflow 会终止它并标记为 TimeoutTO)。

设置时间限制

使用 gbatch

bash
gbatch --time <TIME> python train.py

在脚本中(指令):

bash
#!/bin/bash
# GFLOW --time 2:00:00

python train.py

命令行参数优先于脚本指令。

时间格式

<TIME> 支持:

  • HH:MM:SS(例如 2:30:00
  • MM:SS(例如 5:30
  • MM 分钟(例如 30

注意:单个数字表示分钟(所以 --time 30 是 30 分钟,不是 30 秒)。30 秒请用 0:30

查看时间限制

bash
gqueue -f JOBID,NAME,ST,TIME,TIMELIMIT
gjob show <job_id>

行为说明

  • 计时从任务进入 Running 开始(排队时间不计入)。
  • 以周期方式检查(可能会略微超过精确限制)。
  • 超时后会发送中断(Ctrl-C / SIGINT),并将状态切换为 TimeoutTO)。

故障排除

任务超时

增大限制并重新提交:

bash
gjob redo <job_id> --time 4:00:00

任务比预期更早结束

检查格式(分钟 vs 秒):

bash
gbatch --time 0:30 sleep 1000   # 30 秒
gbatch --time 30 sleep 1000     # 30 分钟

没有按时间限制终止

bash
ginfo
gqueue -j <job_id> -f JOBID,ST,TIMELIMIT

另见

Released under the MIT License.