ข้ามไปยังเนื้อหาหลัก

ติดตามหรือยกเลิก job

ดูรายการ workload ของคุณได้ที่ Workloads page

ดูสถานะ job

ไปที่ Workloads table และตรวจสอบใต้คอลัมน์ Status เพื่อดูว่า job เสร็จสมบูรณ์หรือล้มเหลว

ดูการใช้งานที่เหลือ

ไปที่ Instances table และเลือกแท็บที่เกี่ยวข้องกับแผนที่คุณต้องการดูการใช้งานที่เหลือ จะแสดงเวลาทั้งหมดที่ใช้ไปและเวลาทั้งหมดที่เหลือในแผนของคุณ

ดูตัวชี้วัดจำนวน job และ workload ที่ส่ง

ไปที่ Analytics page เพื่อดูจำนวน job ทั้งหมดที่ส่ง รวมถึงจำนวน batch workload และ session workload โปรดทราบว่าคุณสามารถดู Analytics page ได้เฉพาะสำหรับบัญชีที่คุณเป็นเจ้าของหรือจัดการ

ติดตาม job

ใช้ job instance เพื่อตรวจสอบสถานะ job หรือดึงผลลัพธ์โดยเรียกคำสั่งที่เหมาะสม:

job.result()ดูผลลัพธ์ job ทันทีหลังจาก job เสร็จสมบูรณ์ ผลลัพธ์ job พร้อมใช้งานหลังจาก job เสร็จสมบูรณ์ ดังนั้น job.result() คือการเรียกแบบ blocking จนกว่า job จะเสร็จสมบูรณ์
job.job_id()คืนค่า ID ที่ระบุ job นั้นได้อย่างเป็นเอกลักษณ์ การดึงผลลัพธ์ job ในภายหลังต้องใช้ job ID ดังนั้นแนะนำให้บันทึก ID ของ job ที่คุณอาจต้องการดึงในภายหลัง
job.status()ตรวจสอบสถานะ job
job = service.job(<job_id>)ดึง job ที่คุณเคยส่งไว้ก่อนหน้า การเรียกนี้ต้องใช้ job ID

ดึงผลลัพธ์ job ในภายหลัง

เรียก service.job(\<job\_id>) เพื่อดึง job ที่คุณเคยส่งไว้ก่อนหน้า ถ้าคุณไม่มี job ID หรือถ้าคุณต้องการดึง job หลายตัวพร้อมกัน รวมถึง job จาก QPU (quantum processing unit) ที่เลิกใช้งานแล้ว ให้เรียก service.jobs() พร้อม filter ที่ต้องการแทน ดู QiskitRuntimeService.jobs

Deprecated provider packages

service.jobs() ยังคืนค่า job ที่รันจาก qiskit-ibm-provider package ที่ถูก deprecated แล้วด้วย Job ที่ส่งโดย qiskit-ibmq-provider package รุ่นเก่า (ที่ deprecated แล้วเช่นกัน) ไม่สามารถใช้งานได้อีกต่อไป

ตัวอย่าง

ตัวอย่างนี้คืนค่า 10 runtime job ล่าสุดที่รันบน my_backend:

# Added by doQumentation — required packages for this notebook
!pip install -q numpy qiskit qiskit-ibm-runtime
# This cell is hidden from users
from qiskit import QuantumCircuit
from qiskit.circuit import Parameter
from qiskit.transpiler import generate_preset_pass_manager

from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2
import numpy as np

my_backend = "ibm_torino"
service = QiskitRuntimeService()
# backend = service.backend(my_backend)
backend = service.least_busy()

# Define two circuits, each with one parameter with two parameters.
circuit = QuantumCircuit(2)
circuit.h(0)
circuit.cx(0, 1)
circuit.ry(Parameter("a"), 0)
circuit.cx(0, 1)
circuit.h(0)
circuit.measure_all()

pm = generate_preset_pass_manager(optimization_level=1, backend=backend)
transpiled_circuit = pm.run(circuit)

params = np.random.uniform(size=(2, 3)).T

sampler_pub = (transpiled_circuit, params)

# Instantiate the new estimator object, then run the transpiled circuit
# using the set of parameters and observables.
sampler = SamplerV2(mode=backend)
job = sampler.run([sampler_pub], shots=4)
print(job.job_id())
d305ck0ocacs73ajagvg
result = job.result()

spans = job.result().metadata["execution"]["execution_spans"]
print(spans)
ExecutionSpans([DoubleSliceSpan(<start='2025-09-09 16:31:16', stop='2025-09-09 16:31:16', size=24>)])
params = np.random.uniform(size=(2, 3))
params
array([[0.2260416 , 0.8747859 , 0.44361995],
[0.94700856, 0.96826017, 0.98426562]])
mask = spans[0].mask(0)
mask
array([[[ True,  True,  True,  True],
[ True, True, True, True]],

[[ True, True, True, True],
[ True, True, True, True]],

[[ True, True, True, True],
[ True, True, True, True]]])
from qiskit_ibm_runtime import QiskitRuntimeService

# Initialize the account first.
service = QiskitRuntimeService()
# Use `limit` to retrieve a specific number of jobs. The default `limit` is 10.
service.jobs(backend_name=my_backend)

ยกเลิก job

คุณสามารถยกเลิก job จาก IBM Quantum Platform dashboard ได้ทั้งบน Workloads page หรือ details page ของ workload เฉพาะ บน Workloads page ให้คลิก overflow menu ที่ท้ายแถวของ workload นั้น และเลือก Cancel ถ้าคุณอยู่ที่ details page ของ workload เฉพาะ ให้ใช้ dropdown Actions ที่ด้านบนของหน้า และเลือก Cancel

ใน Qiskit ให้ใช้ job.cancel() เพื่อยกเลิก job

ดู Sampler execution span

ผลลัพธ์ของ SamplerV2 job ที่รันใน Qiskit Runtime มีข้อมูล timing ของ execution อยู่ใน metadata ข้อมูล timing นี้สามารถใช้เพื่อกำหนดขอบเขต timestamp บนและล่างว่า shot เฉพาะถูก execute บน QPU เมื่อใด Shot จะถูกจัดกลุ่มเป็น ExecutionSpan object แต่ละตัวระบุเวลาเริ่มต้น เวลาสิ้นสุด และข้อกำหนดว่า shot ใดถูกรวบรวมใน span นั้น

execution span ระบุว่าข้อมูลใดถูก execute ในช่วงเวลาของมันโดยให้ method ExecutionSpan.mask method นี้ เมื่อได้รับ index ของ Primitive Unified Block (PUB) ใดก็ได้ จะคืน boolean mask ที่เป็น True สำหรับ shot ทั้งหมดที่ execute ในช่วงเวลาของมัน PUB ถูก index โดยลำดับที่ให้กับการเรียก Sampler run ถ้า PUB มี shape (2, 3) และรันด้วย 4 shot mask จะมี shape (2, 3, 4) ดู execution_span API page สำหรับรายละเอียดทั้งหมด

ตัวอย่าง: เพื่อดูข้อมูล execution span ให้ตรวจสอบ metadata ของผลลัพธ์ที่คืนโดย SamplerV2 ซึ่งมาในรูปแบบของ ExecutionSpans object object นี้คือ container คล้าย list ที่มี instance ของ subclass ของ ExecutionSpan เช่น SliceSpan:

from qiskit.primitives import BitArray

# Get the mask of the 1st PUB for the 0th span.
mask = spans[0].mask(0)

# Decide whether the 0th shot of parameter set (1, 2) occurred in this span.
in_this_span = mask[2, 1, 0]

# Create a new bit array containing only the PUB-1 data collected during this span.
bits = result[0].data.meas
filtered_data = BitArray(bits.array[mask], bits.num_bits)

execution span สามารถ filter เพื่อรวมข้อมูลที่เกี่ยวกับ PUB เฉพาะ โดยเลือกตาม index:

# take the subset of spans that reference data in PUBs 0 or 2
spans.filter_by_pub([0, 2])
ExecutionSpans([DoubleSliceSpan(<start='2025-09-09 16:31:16', stop='2025-09-09 16:31:16', size=24>)])

ดูข้อมูลทั่วไปเกี่ยวกับ collection ของ execution span:

print("Number of execution spans:", len(spans))
print(" Start of the first span:", spans.start)
print(" End of the last span:", spans.stop)
print(" Total duration (s):", spans.duration)
Number of execution spans: 1
Start of the first span: 2025-09-09 16:31:16.320568
End of the last span: 2025-09-09 16:31:16.865858
Total duration (s): 0.54529

ดึงและตรวจสอบ span เฉพาะ:

spans.sort()
print(" Start of first span:", spans[0].start)
print(" End of first span:", spans[0].stop)
print("#shots in first span:", spans[0].size)
Start of first span: 2025-09-09 16:31:16.320568
End of first span: 2025-09-09 16:31:16.865858
#shots in first span: 24
หมายเหตุ

เป็นไปได้ที่ช่วงเวลาที่ระบุโดย execution span ที่แตกต่างกันจะทับซ้อนกัน นี่ไม่ใช่เพราะ QPU กำลัง execute หลายอย่างพร้อมกัน แต่เป็น artifact ของการประมวลผล classical บางอย่างที่อาจเกิดขึ้นพร้อมกันกับ quantum execution การรับประกันที่ทำไว้คือข้อมูลที่อ้างอิงเกิดขึ้นใน execution span ที่รายงานอย่างแน่นอน แต่ไม่จำเป็นต้องว่าขอบเขตของช่วงเวลาจะแคบที่สุดเท่าที่จะเป็นไปได้

ขั้นตอนถัดไป

Recommendations
Source: IBM Quantum docs — updated 27 เม.ย. 2569
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of 11 มี.ค. 2569