如果另一个资源失败,则在Puppet中执行资源

时间:2018-02-12 05:14:13

标签: puppet

说我是否有像这样的exec资源:

exec { 'Task1':
    command => '/bin/long-running-task',
    timeout => 3600,
}

如果这个长时间运行的任务失败或超时,最好获得此失败的通知。

如果任务失败(返回非零),捕获它基本上是/bin/long-running-task || <err catching code>。捕获超时是个问题,因为此处不会执行||

注册订阅或通知在这种情况下不起作用,因为订阅的任务将因失败的依赖性而失败,即:

exec { 'Task1 Failure':
    command => 'echo "Failed to do xxx" | mail -s to@tld',
    subscribe => Exec['Task1'],
}

将导致:

Exec[Task1 Failure]: Skipping because of failed dependencies

This SO question asks the same thing,但没有答案。

0 个答案:

没有答案