Understanding Jobs
A job is an action that Autonomous Linux takes against one or more instances, such as installing updates or attaching software sources. When a job runs, it performs the work necessary to fulfill the job, dispatches work to instances, and reports the results back to the service.
You can run a job can run immediately or schedule it for a future date and time. You can schedule some jobs, such as update jobs, as a recurring event or set them to automatically retry. When automatic retry is selected, if a job fails on it's first execution, the service retries the job up to three times, each five minutes apart. Scheduled jobs can be tagged.
Job Hierarchy
Some jobs are divided into smaller tasks. The service creates a job hierarchy where the initial job is the 'parent' and the smaller tasks are 'children'. For larger jobs, or jobs that affect multiple instances, you can easily determine what tasks within a job succeeded or failed. You can view children jobs in the Associated work section of the parent job's detail page.
For example, an 'All' update job creates children jobs for each update type: Security, Bug fix, Enhancement, Other.
--Update All (parent)
|--Update Security (child)
|--Update Bug fix (child)
|--Update Enhancement (child)
|--Update Other (child)
Jobs reside in the same compartment as its associated resource. For jobs associated with a group, this can mean the parent and children jobs reside in different compartments. The parent job resides in the compartment associated with the group, while the children jobs reside in the compartment associated with each instance. See Compartment Considerations for best practices.
For example, adding a software source to a group with three members produces a single parent job with three children jobs, one for each instance.--Set software sources for dev group (parent in dev compartment)
|--Set software source Instance 1 (child in dev compartment)
|--Set software source Instance 2 (child in test compartment)
|--Set software source Instance 3 (child in preview compartment)
Job Status
Scheduled jobs show the following information:
- Next execution: The date and time the job will run.
- Recurring: Indicates if the job is set on a recurring schedule.
- Targets: Identifies the number of target instances for the job.
After being dispatched, a job is either in progress or completed.
- In progress jobs report the following possible status values:
- Accepted: The service has accepted the job and has work ready for instances.
- In Progress: An agent has picked up the work and is executing it on an instance.
- Canceling: The job is being canceled
- Completed jobs report the following possible status values:
- Successful: The job completed without error.
- Failed: The job failed.
- Canceled: The job was canceled
Restricted Scheduled Job
Each instance in Autonomous Linux has a restricted scheduled job with update type 'All' that runs daily to keep the instance up-to-date. This is referred to as the autonomous updates job. You can edit the time of day that the job runs, but can't change its frequency or delete the job.