定时调度
定时调度支持 cron 表达式、固定间隔、每日/每周/每月自动触发构建。
列出调度
from pandatest import PandaTest
client = PandaTest(api_key="pk_xxx", base_url="https://your-domain.com")
scope = client.project(2)
result = scope.schedules.list()
for s in result.items:
enabled = "✓" if s.is_enabled else "✗"
print(f"[{enabled}] {s.name} — {s.frequency} (runs: {s.total_runs})")获取调度详情
schedule = scope.schedules.get("sched-1-abc")
print(f"Name: {schedule.name}")
print(f"Build: {schedule.build_name}")
print(f"Frequency: {schedule.frequency}")
print(f"Enabled: {schedule.is_enabled}")
print(f"Next run: {schedule.next_run_at}")创建调度
# 每天凌晨 2 点
schedule = scope.schedules.create(
name="每日回归",
build="build-14-abc123",
frequency="daily",
time_of_day="02:00",
)
# cron 表达式
schedule = scope.schedules.create(
name="工作日冒烟",
build="build-15-def456",
frequency="cron",
cron_expression="0 9 * * MON-FRI",
)
# 固定间隔
schedule = scope.schedules.create(
name="持续集成",
build="build-14-abc123",
frequency="interval",
interval_seconds=14400,
)
print(f"Created: {schedule.id}")启用 / 禁用调度
scope.schedules.enable("sched-1-abc")
scope.schedules.disable("sched-1-abc")立即触发
result = scope.schedules.trigger("sched-1-abc")
print(f"Celery Task: {result['celery_task_id']}")删除调度
scope.schedules.delete("sched-1-abc")更多 SDK 方法
以下方法仅在 SDK 中可用:
| 方法 | 说明 |
|---|---|
scope.schedules.update(id, **fields) | 更新调度配置 |