之前遇到一個情境,是在啟動跑報表task前,必須先檢查資料的正確性,所以會有task的相依性,在Nomad v0.11後新增了一個參數 lifecycle
可以用來達到需求。
在要先執行的task內使用 lifecycle
, hook = "prestart"
表示先啟動, sidecar = false
因為檢查完畢就可以停掉了,不必常駐。
...
task "data-check" {
lifecycle {
hook = "prestart"
sidecar = false
}
driver = "exec"
config {
command = "sh"
args = ["-c", "data-check.sh"]
}
}
task "run-bom" {
...
}
...