Managing jobs

Job status

Every job has a handle (QXelJob) that you can query at any time. Look one up by id with sim.get_job(job_id), then read its status and helper fields.

Reading status

get_job() returns a fresh handle. Each call to status / is_done re-reads the latest state from the platform.

python
job = sim.get_job("job_...")
print(job.status)      # PENDING / RUNNING / SUCCEEDED / FAILED / CANCELLED
print(job.is_done())   # True once status is terminal

Helper fields

job.status current status string job.is_done() True for SUCCEEDED / FAILED / CANCELLED job.is_succeeded() True only for SUCCEEDED job.created_at / submitted_at / started_at / completed_at timestamps job.to_dict() the full public job record (status, timestamps, instance_type, ...)

Polling yourself

job.wait() already polls for you, but you can write your own loop when you want to do other work between checks:

python
import time

while not job.is_done():
    time.sleep(5)
    job = sim.get_job(job.job_id)
print(job.status)