Kubernetes status.lastScheduleTime何时更改?

Kubernetes status.lastScheduleTime何时更改?,kubernetes,kubernetes-cronjob,Kubernetes,Kubernetes Cronjob,我正在开发一个Kubernetes CronJob,它依赖于知道上次成功运行的时间,以便正确地通知用户自上次运行以来的新事件。也就是说,我需要知道我是否可以依赖status.lastScheduleTime作为我的“上次成功运行”时间戳 什么时候变?这取决于出口代码吗?为此目的使用它是一个好主意吗?不,你不能依赖它作为成功跑步的指标。只要运行CronJob,该值就会更改。这并不意味着这是你最后一次成功的跑步,并且不会因退出代码而改变 A基本上运行的名称为-。例如,在Unix/Linux中,您可以

我正在开发一个Kubernetes CronJob,它依赖于知道上次成功运行的时间,以便正确地通知用户自上次运行以来的新事件。也就是说,我需要知道我是否可以依赖
status.lastScheduleTime
作为我的“上次成功运行”时间戳


什么时候变?这取决于出口代码吗?为此目的使用它是一个好主意吗?

不,你不能依赖它作为成功跑步的指标。只要运行CronJob,该值就会更改。这并不意味着这是你最后一次成功的跑步,并且不会因退出代码而改变

A基本上运行的名称为
-
。例如,在Unix/Linux中,您可以从
date+%s
命令中获得,并且该历元是一个时间戳,略晚于
lastScheduleTime
的时间戳(在创建作业资源时)

要了解上一个cron作业是否成功运行,可以执行以下操作

您可以通过以下方式获取上次作业运行/启动的名称,包括其纪元:

$ kubectl get jobs | tail -1 | awk '{print $1}'
然后,您可以通过以下方式检查该工作是否成功:

$ kubectl get job <job-name> -o=jsonpath='{.status.succeeded}'
$kubectl get job-o=jsonpath='{.status.successed}'
应返回一个
1