SDK 参考
定时调度

定时调度

定时调度支持 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)更新调度配置