status.lastScheduleTime 什么时候变?
When does status.lastScheduleTime change?
我正在开发一个 Kubernetes CronJob,它依赖于了解上次成功 运行 发生的时间,以便正确地通知用户关于自所说 运行 以来的新事件。也就是说,我需要知道我是否可以依靠 status.lastScheduleTime
作为我的“最后一次成功 运行” 时间戳。
什么时候改?它取决于退出代码吗?将它用于该目的甚至是个好主意吗?
不,您不能将其作为成功的指标 运行。每当您的 CronJob 运行s 时,该值就会发生变化。这并不意味着这是您最后一次成功 运行 并且它不会根据退出代码而改变。
A CronJob
essentially runs a Job
with a name that is <cronjob name>-<unix epoch>
. The epoch 在 Unix/Linux 中,你将从 date +%s
命令中得到什么,例如,那个纪元也是一个时间戳,它比 [= =16=](这是创建作业资源的时间)
要了解您的上一个 cron 作业 运行 是否成功,您可以执行以下操作。
您可以获得最后一个作业 run/started 名称,包括它的时代,如下所示:
$ kubectl get jobs | tail -1 | awk '{print }'
然后,您可以使用以下内容检查该作业是否成功:
$ kubectl get job <job-name> -o=jsonpath='{.status.succeeded}'
应该return一个1
.
我正在开发一个 Kubernetes CronJob,它依赖于了解上次成功 运行 发生的时间,以便正确地通知用户关于自所说 运行 以来的新事件。也就是说,我需要知道我是否可以依靠 status.lastScheduleTime
作为我的“最后一次成功 运行” 时间戳。
什么时候改?它取决于退出代码吗?将它用于该目的甚至是个好主意吗?
不,您不能将其作为成功的指标 运行。每当您的 CronJob 运行s 时,该值就会发生变化。这并不意味着这是您最后一次成功 运行 并且它不会根据退出代码而改变。
A CronJob
essentially runs a Job
with a name that is <cronjob name>-<unix epoch>
. The epoch 在 Unix/Linux 中,你将从 date +%s
命令中得到什么,例如,那个纪元也是一个时间戳,它比 [= =16=](这是创建作业资源的时间)
要了解您的上一个 cron 作业 运行 是否成功,您可以执行以下操作。
您可以获得最后一个作业 run/started 名称,包括它的时代,如下所示:
$ kubectl get jobs | tail -1 | awk '{print }'
然后,您可以使用以下内容检查该作业是否成功:
$ kubectl get job <job-name> -o=jsonpath='{.status.succeeded}'
应该return一个1
.