Jobs API
Job is an abstraction for long-running operations in the API. Some operations cannot be finished within a reasonable amount of time for a normal HTTP request. Each job has a state, an id, and can be awaited on asynchronously.
Before you start, make sure that the igz_mgmt package is installed and that you are logged in to the system with the igz_mgmt.Client API. If not, see Control plane API.
import igz_mgmt
client = igz_mgmt.Client(access_key="some-access-id")
Which functions create jobs?
When you run one of these functions, the system returns a job-id that you can use to see the job status and manage the job:
AppServices
functions (create_or_update, restart, remove, enable, disable, scale_from_zero)AppServicesManifest
functions (create_or_update, restart, remove_service, scale_from_zero, apply_services)
List all jobs
jobs = igz_mgmt.Job.list(client)
Get a job
job = igz_mgmt.Job.get(client, "some-job-id")
Wait for job completion
To wait for a job to complete, use wait_for_completion
. The retry interval (get the job state every X seconds) and the timeout (in seconds) are configurable. The default values are job_completion_retry_interval=30, timeout=3600.
For example:
igz_mgmt.Job.wait_for_completion(
client, "some-job-id", job_completion_retry_interval=30, timeout=180
)