任务管家 (Scheduler)
任务管家是一个免费的 爬虫API 功能,用于通过为其创建时间表来自动化您的重复性抓取和解析作业。
重要事项:任务管家是一款强大的工具,可轻松地增加您的服务账单。我们建议用几个作业项目和有限的重复次数进行测试,以确保您在正确的时间间隔获得正确的数据。在确定了这一点后,您便可停止测试时间表并创建一个新的、扩大规模的时间表。
当创建一个新的时间表时,请遵循以下简单步骤。
- 1.告诉我们 我们应该多长时间 通过提交一个 cron 时间表表达式来重复一次作业;
- 2.向我们提供我们应该在预定时间执行的一堆作业参数集。
- 3.通过提交结束时间让我们知道停止时间。
任务管家有几个您可以用来控制服务的端点:
使用这个端点来启动一个新的时间表。
- 端点:
https://data.oxylabs.io/v1/schedules
- 方法:
POST
- 身份验证:
Basic
- 请求标头:
Content-Type: application/json
输入
参数 | 描述 | 默认值 |
---|---|---|
cron | - | |
items | 应该作为时间表的一部分执行的 爬虫APII 作业参数集的列表。 | - |
end_time | 时间表应停止运行的时间。注意:含结束时间。 | - |
- 必须提供的参数
注意:关于为任务管家有效载荷的
items
部分相结合作业参数集的指南,请参考您想使用的特定抓取器 的文件页面。下面的有效载荷将使任务管家在周一的 03:00 运行两个作业计划,直到
end_time
(含)。{
"cron": "0 3 * * 1",
"items": [
{"source": "universal", "url": "https://ip.oxylabs.io"},
{"source": "google_search", "query": "stuff"}
],
"end_time": "2032-12-21 12:34:45"
}
下面的响应确认了时间表已成功创建。
{
"schedule_id": 4134906379157007223,
"active": true,
"items_count": 3,
"cron": "* * * * *",
"end_time": "2032-12-21 12:34:45",
"next_run_at": "2022-06-06 10:15:00"
}
使用这个端点来获取与您的用户账户相关的所有时间表的列表。
- 端点:
https://data.oxylabs.io/v1/schedules
- 方法:
GET
- 身份验证:
Basic
该端点返回与提出请求的用户账户相关的所有时间表 ID 的列表。
详见下面的答复样本。
{
"schedules": [
1764178033254455101,
2885262175311057587,
3251365810325795747,
4134906379157007223,
4164931482277157062
]
}
使用这个端点来获取关于特定时间表的信息。
- 端点:
https://data.oxylabs.io/v1/schedules/{id}
- 方法:
GET
- 身份验证:
Basic
下面的有效载荷包含一个时间表信息响应样本。
{
"schedule_id": 1764178033254455101,
"active": true,
"items_count": 3,
"cron": "* * * * *",
"end_time": "2032-12-21 12:34:45",
"next_run_at": "2022-06-06 10:18:00",
"stats": {
"total_job_count": 3,
"job_create_outcomes": [
{
"status_code": 202,
"job_count": 3,
"ratio": 1
}
],
"job_result_outcomes": [
{
"status": "done",
"job_count": 2,
"ratio": 0.67
},
{
"status": "faulted",
"job_count": 1,
"ratio": 0.33
}
]
}
}
注意:当前
items
(即作为时间表的一部分要执行的作业)在输出中缺失。我们意识到了这一点,并将在短期内添加它们。Key | 描述 | 种类 |
---|---|---|
schedule_id | 时间表的唯一 ID。 | 整数 |
active | 时间表现在是否在激活? | 布林 |
items_count | 时间表中的项目(作业)数量。 | 整数 |
cron | 与时间表相关的 cron 表达式。 | 字符串 |
end_time | 时间表将停止重复的时间。 | 字符串 |
next_run_at | 时间表下一次运行的时间。 | 字符串 |
stats | 包含统计作业创建和完成作业统计。 | JSON 对象 |
stats :total_job_count | 时间表中的项目(作业)数量。 | 整数 |
stats :job_create_outcomes | 包含创建作业统计。 | JSON 数组 |
stats :job_create_outcomes :status_code | 试图执行时间表(创建一个抓取/解析作业)时收到的状态代码。 | 整数 |
stats :job_create_outcomes :job_count | 导致该特定状态代码的作业创建尝试次数。 | 整数 |
stats :job_create_outcomes :ratio | 导致该特定尝试的作业创建数量与作业创建的总数量之间的比率。 | 浮动 |
job_result_outcomes | 包含抓取/解析作业的结 果统计作为时间表的一部分来执行。 | JSON 数组 |
status |