package job

import "k8s.io/kubernetes/pkg/controller/job"

Package job contains logic for watching and synchronizing jobs.

Index

Variables

var (
	// DefaultJobBackOff is the default backoff period. Exported for tests.
	DefaultJobBackOff = 10 * time.Second
	// MaxJobBackOff is the max backoff period. Exported for tests.
	MaxJobBackOff = 360 * time.Second
	// MaxUncountedPods is the maximum size the slices in
	// .status.uncountedTerminatedPods should have to keep their representation
	// roughly below 20 KB. Exported for tests
	MaxUncountedPods = 500
	// MaxPodCreateDeletePerSync is the maximum number of pods that can be
	// created or deleted in a single sync call. Exported for tests.
	MaxPodCreateDeletePerSync = 500
)

Functions

func IsJobFinished

func IsJobFinished(j *batch.Job) bool

IsJobFinished checks whether the given Job has finished execution. It does not discriminate between successful and failed terminations.

Types

type Controller

type Controller struct {
	// contains filtered or unexported fields
}

Controller ensures that all Job objects have corresponding pods to run their configured workload.

func NewController

func NewController(podInformer coreinformers.PodInformer, jobInformer batchinformers.JobInformer, kubeClient clientset.Interface) *Controller

NewController creates a new Job controller that keeps the relevant pods in sync with their corresponding Job objects.

func (*Controller) Run

func (jm *Controller) Run(ctx context.Context, workers int)

Run the main goroutine responsible for watching and syncing jobs.

Source Files

doc.go indexed_job_utils.go job_controller.go pod_failure_policy.go tracking_utils.go utils.go

Directories

PathSynopsis
pkg/controller/job/config
pkg/controller/job/config/v1alpha1
pkg/controller/job/metrics
Version
v1.25.5
Published
Dec 8, 2022
Platform
js/wasm
Imports
40 packages
Last checked
7 minutes ago

Tools for package owners.