Oxylabs Documentation
中文
搜索
⌃K

任务管家 (Scheduler)

任务管家是一个免费的 爬虫API 功能,用于通过为其创建时间表来自动化您的重复性抓取和解析作业。
我们建议在使用任务管家的同时使用 上传到云存储器 功能。这样,您可以设置您的时间表,在您的存储中定期接收数据更新,而不需要在从我们的系统中获取结果上做任何努力。
重要事项:任务管家是一款强大的工具,可轻松地增加您的服务账单。我们建议用几个作业项目和有限的重复次数进行测试,以确保您在正确的时间间隔获得正确的数据。在确定了这一点后,您便可停止测试时间表并创建一个新的、扩大规模的时间表。

入门指南

当创建一个新的时间表时,请遵循以下简单步骤。
  1. 1.
    告诉我们 我们应该多长时间通过提交一个 cron 时间表表达式来重复一次作业
  2. 2.
    向我们提供我们应该在预定时间执行的一堆作业参数集
  3. 3.
    通过提交结束时间让我们知道停止时间
参见 此处 查阅提交新时间表的代码示例。
提示:通过访问您要使用的特定 Scraper API 的文件,了解如何形成作业参数集(SERP / 电子商务 / 网络)。
注意:您也可以下载并导入该 Postman 集合来尝试我们所有的任务管家端点。初次使用 Postman?此处了解更多关于这个工具的信息。

端点

任务管家有几个您可以用来控制服务的端点:

创建新的时间表

总览

使用这个端点来启动一个新的时间表。
  • 端点: https://data.oxylabs.io/v1/schedules
  • 方法:POST
  • 身份验证Basic
  • 请求标头Content-Type: application/json
输入
参数
描述
默认值
cron
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
作业状态。可能的值:pending(作业仍在处理中),done(作业已成功完成),faulted(作业已失败)。
字符串
job_count
导致该特定 status的作业数量。
整数
ratio
具有该特定状态的作业数量与所创建的作业总数之间的比率。
浮动

停用或重新启用一个时间表

总览

使用这个端点来激活或停用一个特定的时间表。
  • 端点: https://data.oxylabs.io/v1/schedules/{id}/state
  • 方法:PUT
  • 身份验证Basic

输入

使用这个端点来停止或重新启动一个时间表。
通过设置 activefalse,您可以停止执行一个特定时间表。
如果您设置了 activetrue, 则可以重新激活一个以前被停止的时间表。
{
"active": false
}
输出
null
标准响应是一个具有 202 状态代码的空响应体。

Cron 时间表表达式

此处此处阅读更多信息。

API 响应代码

关于 API 响应代码,请参考 API 参考 -> 响应代码 -> API 响应代码 一节。