Execution Concepts
Furiko Execution is the heart of the Furiko platform, and consists of components to configure scheduled jobs and trigger ad-hoc executions.
JobConfig
A JobConfig describes an automation job to be run. It creates and controls Job
children objects.
A JobConfig can be automatically scheduled to be create Jobs based on a cron schedule, or executed on an ad-hoc basis. You can also parameterize a JobConfig to take in different variables which will be substituted into the job template at runtime.
Job
A Job represents a single job execution, analogous to a batch/v1
Job. As the name suggests, a Job's parent is a JobConfig.
A Job's spec is local to the particular job execution. Modifying the JobConfig after the Job has been created will not affect previously created Jobs.
note
A Job can also be created independently of a JobConfig controller, although this is not recommended. Doing so will disable certain features and guarantees that are provided by a parent JobConfig controller.
Task
A Task represents a Job's actual manifestation of task execution. A Job may create one or more Tasks, which can represent both parallel tasks being executed (see Parallel Execution) or individual retries (see Timeouts and Retries).
A Task is an abstract representation of a workload, such as a Pod. Currently, the only supported task executor is a Pod, but more task executors are planned in the future.