CrontabResult CRUD
Query CrontabResult
调用者可以通过 crontab-result_query 查询执行结果记录。
方法
调用方法名为 crontab-result_query,需要提供以下参数:
json
{
"token": "demo_token",
"query": {
"condition": [
// CrontabResultQueryCondition 结构体,该结构体参考 CrontabResult 总览
// 该字段为 Vec<_>,可指定多个
]
}
}权限要求
- 需要
CrontabResult::Read(String)权限 - 仅在
GlobalScope 下有效 read权限中的字符串对应cron_name,支持通配符*
返回值
json
[
{
"id": 1, // 记录 ID
"cron_id": 5, // 关联的 Crontab ID
"cron_name": "cleanup_database", // Crontab 名称
"relative_id": null, // 关联的 task_id 或 js_result_id
"run_time": 1769341269012, // 执行时间(毫秒时间戳)
"success": true, // 是否执行成功
"message": "Cleaned 100 records" // 执行结果消息
}
// 该字段为 Vec<_>,可返回多条
]完整示例
查询指定 cron_name 的所有结果:
请求:
json
{
"jsonrpc": "2.0",
"method": "crontab-result_query",
"params": {
"token": "demo_token",
"query": {
"condition": [
{
"cron_name": "cleanup_database"
}
]
}
},
"id": 1
}查询指定时间范围内的成功记录:
json
{
"jsonrpc": "2.0",
"method": "crontab-result_query",
"params": {
"token": "demo_token",
"query": {
"condition": [
{
"cron_name": "cleanup_database"
},
{
"run_time_from_to": [1700000000000, 1800000000000]
},
{
"is_success": null
}
]
}
},
"id": 1
}查询最近的 10 条失败记录:
json
{
"jsonrpc": "2.0",
"method": "crontab-result_query",
"params": {
"token": "demo_token",
"query": {
"condition": [
{
"cron_name": "backup_database"
},
{
"is_failure": null
},
{
"limit": 10
}
]
}
},
"id": 1
}获取最后一条执行记录:
json
{
"jsonrpc": "2.0",
"method": "crontab-result_query",
"params": {
"token": "demo_token",
"query": {
"condition": [
{
"cron_name": "cleanup_database"
},
"last"
]
}
},
"id": 1
}注意: 需要分别查询每个 cron_name,不支持一次查询多个不同的 cron_name。
Delete CrontabResult
调用者可以通过 crontab-result_delete 删除执行结果记录。
方法
调用方法名为 crontab-result_delete,需要提供以下参数:
json
{
"token": "demo_token",
"delete_params": {
"cron_name": "cleanup_database", // 可选,若指定则只删除该 cron_name 的记录
"before_time": 1700000000000 // 删除该时间之前的记录(毫秒时间戳)
}
}权限要求
删除操作需要 CrontabResult::Delete(String) 权限,仅在 Global Scope 下有效。
权限结构示例:
json
{
"scopes": [
"global"
],
"permissions": [
{
"crontab_result": {
"delete": "cleanup_database" // 删除指定 cron_name
}
},
{
"crontab_result": {
"delete": "backup_*" // 删除匹配通配符的 cron_name
}
},
{
"crontab_result": {
"delete": "*" // 删除所有(全局权限)
}
}
]
}- 若指定了
cron_name,则检查对该 cron_name 的删除权限 - 若未指定
cron_name(删除所有),则需要全局删除权限{"delete": "*"}
返回值
json
{
"success": true, // 是否成功
"deleted_count": 100 // 删除的记录数量
}完整示例
删除指定 cron_name 在指定时间之前的所有记录:
请求:
json
{
"jsonrpc": "2.0",
"method": "crontab-result_delete",
"params": {
"token": "demo_token",
"delete_params": {
"cron_name": "cleanup_database",
"before_time": 1700000000000
}
},
"id": 1
}删除所有记录(需要全局删除权限):
json
{
"jsonrpc": "2.0",
"method": "crontab-result_delete",
"params": {
"token": "demo_token",
"delete_params": {
"before_time": 1700000000000
}
},
"id": 1
}