struct Kubernetes::CronJobSpec

Overview

CronJobSpec describes how the job execution will look like and when it will actually run.

Included Modules

Defined in:

generated/models/io_k8s_api_batch_v1.cr

Constructors

Macro Summary

Instance Method Summary

Constructor Detail

def self.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node) #

def self.new(pull : ::JSON::PullParser) #

def self.new(*, __pull_for_json_serializable pull : ::JSON::PullParser) #

def self.new(*, __context_for_yaml_serializable ctx : YAML::ParseContext, __node_for_yaml_serializable node : YAML::Nodes::Node) #

Macro Detail

macro field(name, type = nil, **options, &block) #

Helper macro for defining fields with automatic camelCase conversion


Instance Method Detail

def concurrency_policy : String | Nil #

Specifies how to treat concurrent executions of a Job. Valid values are:

  • "Allow" (default): allows CronJobs to run concurrently; - "Forbid": forbids concurrent runs, skipping next run if previous run hasn't finished yet; - "Replace": cancels currently running job and replaces it with a new one

def concurrency_policy=(concurrency_policy : String | Nil) #

Specifies how to treat concurrent executions of a Job. Valid values are:

  • "Allow" (default): allows CronJobs to run concurrently; - "Forbid": forbids concurrent runs, skipping next run if previous run hasn't finished yet; - "Replace": cancels currently running job and replaces it with a new one

def failed_jobs_history_limit : Int32 | Nil #

The number of failed finished jobs to retain. Value must be non-negative integer. Defaults to 1.


def failed_jobs_history_limit=(failed_jobs_history_limit : Int32 | Nil) #

The number of failed finished jobs to retain. Value must be non-negative integer. Defaults to 1.


def job_template : JobTemplateSpec | Nil #

Specifies the job that will be created when executing a CronJob.


def job_template=(job_template : JobTemplateSpec | Nil) #

Specifies the job that will be created when executing a CronJob.


def schedule : String | Nil #

The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.


def schedule=(schedule : String | Nil) #

The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.


def starting_deadline_seconds : Int64 | Nil #

Optional deadline in seconds for starting the job if it misses scheduled time for any reason. Missed jobs executions will be counted as failed ones.


def starting_deadline_seconds=(starting_deadline_seconds : Int64 | Nil) #

Optional deadline in seconds for starting the job if it misses scheduled time for any reason. Missed jobs executions will be counted as failed ones.


def successful_jobs_history_limit : Int32 | Nil #

The number of successful finished jobs to retain. Value must be non-negative integer. Defaults to 3.


def successful_jobs_history_limit=(successful_jobs_history_limit : Int32 | Nil) #

The number of successful finished jobs to retain. Value must be non-negative integer. Defaults to 3.


def suspend : Bool | Nil #

This flag tells the controller to suspend subsequent executions, it does not apply to already started executions. Defaults to false.


def suspend=(suspend : Bool | Nil) #

This flag tells the controller to suspend subsequent executions, it does not apply to already started executions. Defaults to false.


def time_zone : String | Nil #

The time zone name for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. If not specified, this will default to the time zone of the kube-controller-manager process. The set of valid time zone names and the time zone offset is loaded from the system-wide time zone database by the API server during CronJob validation and the controller manager during execution. If no system-wide time zone database can be found a bundled version of the database is used instead. If the time zone name becomes invalid during the lifetime of a CronJob or due to a change in host configuration, the controller will stop creating new new Jobs and will create a system event with the reason UnknownTimeZone. More information can be found in https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/#time-zones


def time_zone=(time_zone : String | Nil) #

The time zone name for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. If not specified, this will default to the time zone of the kube-controller-manager process. The set of valid time zone names and the time zone offset is loaded from the system-wide time zone database by the API server during CronJob validation and the controller manager during execution. If no system-wide time zone database can be found a bundled version of the database is used instead. If the time zone name becomes invalid during the lifetime of a CronJob or due to a change in host configuration, the controller will stop creating new new Jobs and will create a system event with the reason UnknownTimeZone. More information can be found in https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/#time-zones