Jobs are submitted by users of a Project and contain an input that tells the backend what to do—such as running a circuit.
Submitting Jobs
Jobs are submitted to our platform through an SDK or via API. Jobs contain a circuit to be run, specify a backend to run it on, and any other relevant options.
backend = provider.get_backend("aria-1") # Pick a backend...
circuit = QuantumCircuit(2, 2).h(0) # build your circuit...
job = backend.run(circuit, shots=500) # and run it on the backend!
For a complete reference to the available job options, see our API reference, or review one of our SDK guides for examples.
Job Status
When you submit a job, it will typically pass through these stages:
submitted - the request has been sent to the IonQ Quantum Cloud and the job is being checked, verified, and compiled. In Qiskit, this will show as initializing.
ready - the job has been accepted and is waiting in the queue for its target system to be available. In Qiskit, this will show as queued.
started - the job has begun running. For QPU jobs, this may indicate that the job is currently executing on ions, but it may also indicate that it is in a partially finished state (i.e., some executions of a job have finished, or some child jobs in a multicircuit job have finished). This state will show as running in our API v0.3, cloud console UI, and Qiskit.
The final state of a job may be:
completed - the job has finished and the results are available. In Qiskit, this will show as done.
canceled - the job was canceled by the user.
failed - the job failed due to an error, which will be displayed if you retrieve the job. You may also receive an email notification with information about the job failure.
Multi-circuit Jobs
To pass multiple circuits within a single job, submit them inside of a list[] as the input, for example:
{
"input": [
{
"format": "ionq.circuit.v0",
"qubits": 1,
"circuit": [{ "gate": "h", "target": 0 }]
},
{
"format": "ionq.circuit.v0",
"qubits": 1,
"circuit": [{ "gate": "h", "target": 0 }]
},
{
"format": "ionq.circuit.v0",
"qubits": 1,
"circuit": [{ "gate": "h", "target": 0 }]
}
]
}
Note that not all SDKs support multi-circuit job submission. Please refer to the official documentation for that SDK for current functionality.