Kubernetes Job and CronJob
A Job manages finite work toward successful completion. A CronJob creates Jobs according to a schedule. Their controller state describes execution management, not an atomic transaction with an external data destination.
CronJob concurrencyPolicy Forbid applies to Jobs from that same CronJob. It does not lock a table against another CronJob or a manually launched Job. A late schedule can be skipped according to the starting deadline.
Programs can execute more than once, so keep input identity and repeat-safe destination effects explicit. Job retry limits and execution deadlines control attempts; they do not roll back an already published result. History cleanup is separate from business-data retention.
For a non-parallel Job, restartPolicy Never means a failed container is not restarted inside the same Pod; the Job controller can create another Pod subject to its retry policy. backoffLimit bounds retries, while activeDeadlineSeconds limits active Job duration. A CronJob’s startingDeadlineSeconds instead decides whether a late scheduled start is still eligible. These clocks answer different questions.
See Running Data Workloads on Kubernetes for manifest examples.
Further reading
Discover more from Insightful Data Lab
Subscribe to get the latest posts sent to your email.
