JobConfig
This page describes how to configure a JobConfig. You can find a full sample configuration here.
Template
Every JobConfig needs a template which describes the Job to be created, known as the JobTemplate
.
For more information, refer to the Job section of the docs.
Scheduling
You can configure a JobConfig to be periodically scheduled, using an extended Cron syntax to specify the schedule, an optional timezone, as well as a concurrency policy to define the behavior when there are multiple concurrent jobs.
For more information, see Scheduling.
Concurrency
You can define the expected behavior for executing multiple Jobs that belong the same JobConfig.
For more information, see Concurrency.
Job Options
You also can parameterize the JobConfig which describes what arguments it can accept (according to various types), and how they should be substituted into the Task's template.
For example, if we wanted to parameterize an input flag to a script, say --config-name
, we could define a job option which substitutes the task's args
field as follows:
taskTemplate:
pod:
spec:
containers:
- name: job-container
args:
- python
- my_script.py
- "--config-name=${option.config_name}"
Subsequently, the job option config_name
can be configured to support either free text or selected from a list of options. This structured job option configuration allows various tools to understand how to display option inputs to the user.
For more information, see Job Options.