作业在Autosys中有两种非活动状态:ON_HOLD和ON_ICE。在这两种情况下,作业不会按计划运行。因此,要确保作业不是处于这两种状态之一。
以下是一个代码示例,用于检查一个作业是否处于ON_HOLD或ON_ICE状态并将其恢复到活动状态:
job_status=$(autostatus -j job_name)
if [[ $job_status == "ON_HOLD" ]]; then echo "Job is on hold. Releasing the hold." sendevent -E UNHOLD_JOB -J job_name fi
if [[ $job_status == "ON_ICE" ]]; then echo "Job is on ice. Unfreezing the job." sendevent -E CHANGE_STATUS -J job_name -s RUNNING fi
这段代码首先使用autostatus命令获取作业状态,并检查作业是否处于ON_HOLD或ON_ICE状态。如果作业处于其中一个状态,则使用sendevent命令将其恢复为活动状态。