看起来好像它是一个启动标准 Kubernetes 作业的 cronjob,您可以查询该作业,然后检查它的启动时间,并将其与当前时间进行比较。
注意:我对 stackdriver 不熟悉,所以这可能不是你想要的,但是......
例如。与bash:
START_TIME=$(kubectl -n=your-namespace get job your-job-name -o json | jq '.status.startTime')
echo $START_TIME
您还可以以 JSON blob 形式获取作业的当前状态,如下所示:
kubectl -n=your-namespace get job your-job-name -o json | jq '.status'
这会产生如下结果:
{
"completionTime": "2019-09-06T17:13:51Z",
"conditions": [
{
"lastProbeTime": "2019-09-06T17:13:51Z",
"lastTransitionTime": "2019-09-06T17:13:51Z",
"status": "True",
"type": "Complete"
}
],
"startTime": "2019-09-06T17:13:49Z",
"succeeded": 1
}
您可以在检查脚本中使用像 jq 这样的工具来查看成功了 or type字段以查看作业是否成功。
因此,通过您的 START_TIME 值,您可以获得当前时间或作业完成时间(完成时间),如果结果小于您的最短工作时间阈值,您可以触发警报 - 例如POST 到 slack webhook 以发送通知或您使用的任何其他警报系统。