Session#
- class Session(max_time=None)[source]#
Class for creating a flexible Qiskit Runtime session.
A Qiskit Runtime
session
allows you to group a collection of iterative calls to the quantum computer. A session is started when the first job within the session is started. Subsequent jobs within the session are prioritized by the scheduler. Data used within a session, such as transpiled circuits, is also cached to avoid unnecessary overhead.You can open a Qiskit Runtime session using this
Session
class and submit one or more jobs.For example:
from qiskit.test.reference_circuits import ReferenceCircuits from qiskit_ibm_provider import IBMProvider circ = ReferenceCircuits.bell() backend = IBMProvider().get_backend("ibmq_qasm_simulator") backend.open_session() job = backend.run(circ) print(f"Job ID: {job.job_id()}") print(f"Result: {job.result()}") # Close the session only if all jobs are finished and # you don't need to run more in the session. backend.cancel_session()
Session can also be used as a context manager:
with backend.open_session() as session: job = backend.run(ReferenceCircuits.bell()) assert job.job_id() == session.session_id
Session constructor.
- Parameters:
max_time (
Union
[int
,str
,None
]) ā (EXPERIMENTAL setting, can break between releases without warning) Maximum amount of time, a runtime session can be open before being forcibly closed. Can be specified as seconds (int) or a string like ā2h 30m 40sā. This value must be in between 300 seconds and the system imposed maximum.- Raises:
ValueError ā If an input value is invalid.
Attributes
Return the status of the session.
Return the session ID.
Methods
Set the session._active status to False