cURL
curl --request POST "${HARNESS_URL}/harness/cronjobs/${CRONJOB_ID}/resume" \
--header "Authorization: Bearer ${HARNESS_TOKEN}"import json
import os
from urllib.request import Request, urlopen
base_url = os.environ["HARNESS_URL"]
headers = {"Authorization": "Bearer " + os.environ["HARNESS_TOKEN"]}
job_id = os.environ["CRONJOB_ID"]
request = Request(base_url + f"/harness/cronjobs/{job_id}/resume", headers=headers, method="POST")
with urlopen(request) as response:
print(json.load(response))const baseUrl = process.env.HARNESS_URL;
const headers = { Authorization: `Bearer ${process.env.HARNESS_TOKEN}` };
const response = await fetch(`${baseUrl}/harness/cronjobs/${process.env.CRONJOB_ID}/resume`, {
method: "POST",
headers,
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());{
"name": "daily-report",
"prompt": "Summarize recent activity",
"schedule": {
"cron": "0 9 * * *",
"at": null,
"timezone": "Asia/Shanghai"
},
"enabled": true,
"timeout_seconds": 1800,
"misfire_policy": "latest",
"misfire_grace_seconds": 120,
"harness": null,
"cronjob_id": "0e58ff7f7dcbf348c252fc70e7fdb587",
"revision": 3,
"created_at": "2026-09-16T00:00:00Z",
"updated_at": "2026-09-16T00:00:00Z",
"next_run_at": "2026-09-16T01:00:00Z",
"active": null,
"last_run": null
}定时任务
恢复定时任务
恢复已暂停任务,从当前时间重新计算下次触发时间
POST
/
harness
/
cronjobs
/
{job_id}
/
resume
cURL
curl --request POST "${HARNESS_URL}/harness/cronjobs/${CRONJOB_ID}/resume" \
--header "Authorization: Bearer ${HARNESS_TOKEN}"import json
import os
from urllib.request import Request, urlopen
base_url = os.environ["HARNESS_URL"]
headers = {"Authorization": "Bearer " + os.environ["HARNESS_TOKEN"]}
job_id = os.environ["CRONJOB_ID"]
request = Request(base_url + f"/harness/cronjobs/{job_id}/resume", headers=headers, method="POST")
with urlopen(request) as response:
print(json.load(response))const baseUrl = process.env.HARNESS_URL;
const headers = { Authorization: `Bearer ${process.env.HARNESS_TOKEN}` };
const response = await fetch(`${baseUrl}/harness/cronjobs/${process.env.CRONJOB_ID}/resume`, {
method: "POST",
headers,
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.json());{
"name": "daily-report",
"prompt": "Summarize recent activity",
"schedule": {
"cron": "0 9 * * *",
"at": null,
"timezone": "Asia/Shanghai"
},
"enabled": true,
"timeout_seconds": 1800,
"misfire_policy": "latest",
"misfire_grace_seconds": 120,
"harness": null,
"cronjob_id": "0e58ff7f7dcbf348c252fc70e7fdb587",
"revision": 3,
"created_at": "2026-09-16T00:00:00Z",
"updated_at": "2026-09-16T00:00:00Z",
"next_run_at": "2026-09-16T01:00:00Z",
"active": null,
"last_run": null
}需要使用 AgentKit CLI 0.54.0 部署并启用定时任务的 Harness Runtime
恢复已暂停任务时,从当前时间计算下次触发,不补跑暂停期间的全部历史触发。一次性计划已没有未来触发时间时返回
422
如果任务因执行 interrupted 而暂停,应先核对已发生的外部操作,再决定恢复,避免重复产生外部影响授权
服务鉴权 Harness 的 Runtime 访问凭证,例如 Runtime API Key;共享 OAuth 部署不支持后台定时任务
路径参数
任务 ID,32 位小写十六进制字符
Pattern:
^[a-f0-9]{32}$响应
成功
任务名称,1–128 个字符
Required string length:
1 - 128每次执行发送给智能体的消息,1–65536 个字符
Required string length:
1 - 65536触发计划
- Schedule
- Schedule
Show child attributes
Show child attributes
该任务每次执行时应用的配置,仅应用显式提供的字段,未提供字段继承已部署智能体
Show child attributes
Show child attributes
是否启用后续调度
单次执行超时,单位为秒;超时记为 failed,不自动重试该次执行
必填范围:
1 <= x <= 10800latest 补跑最近一次错过的触发;skip 仅在该次触发未超出宽限时间时执行。两者均不逐次补跑所有历史触发
可用选项:
latest, skip skip 策略允许的最大延迟,单位为秒
必填范围:
0 <= x <= 86400所属任务 ID
Pattern:
^[a-f0-9]{32}$任务修订号
任务创建时间,UTC
任务最近更新时间,UTC
下次计划触发时间,UTC;没有后续触发时为 null
当前排队、运行中或正在保存最终结果的执行
Show child attributes
Show child attributes
最近已保存到历史的执行摘要
Show child attributes
Show child attributes
最后修改于 2026年9月19日