Apify Tasks 与 Schedules:把一次成功运行变成可复查流程
披露:本页含联盟推广链接。你通过本页链接注册 Apify 并付费,我们可能获得佣金——不影响你支付的价格,也不改变我们如实记录的实测数据。 我们如何实测 →
证据口径:本页于 2026-07-30 按 Actor tasks 与 Schedules 官方文档核对。本页没有新建本站账户里的 Task 或 Schedule,也不声称完成新的实测。
Task 与 Schedule 解决的是两个不同问题:
| 对象 | 它保存什么 | 什么时候用 |
|---|---|---|
| Actor | 程序、版本、输入输出规则 | 决定“用哪个工具” |
| Task | 某个 Actor 的一套可复用输入与运行选项 | 决定“用什么配置跑” |
| Schedule | 触发时间、时区以及要运行的 Actor/Task | 决定“什么时候跑” |
不要把第一次试跑直接设成每天运行。先验证小样本,再把那套输入保存成 Task;Schedule 只负责触发,不会自动判断结果是否仍然有业务价值。
从一次成功运行到定时任务
- 缩小输入:用人工能检查完的小样本跑通 Actor。
- 核对三件事:Dataset 的关键字段、Runs 中的状态、Billing 中的实际费用。
- Save as new task:给 Task 起能说明目标与地区的名字,例如
shanghai-coffee-leads,不要用test-2。 - 再运行 Task 一次:确认保存后的输入没有丢字段,运行选项与第一次一致。
- 创建 Schedule:选择 Task、时区和 cron/频率;先用较低频率观察。
- 定义验收:每次运行至少检查状态、结果量、关键字段空值与费用。
频率不是越高越好
| 数据变化速度 | 起步频率 | 先观察什么 |
|---|---|---|
| 商家资料、类目名单 | 每周或每月 | 新增、关闭、电话/网站变化 |
| 商品价格和库存 | 每日或按业务窗口 | 同一 SKU 的时间戳、价格与卖家 |
| 搜索结果、广告素材 | 每周 | 查询环境是否一致、素材是否真变化 |
| 临时研究样本 | 手动运行 | 是否值得建立持续监控 |
频率应由决策周期决定,而不是由 Schedule 能不能做到决定。没有人会查看的每日结果,只是在制造费用和存储。
运行前要固定的输入
- 目标 URL、关键词、地区、语言和设备环境。
- 结果上限与翻页范围。
- Actor build/version 策略与运行超时。
- 输出必须保留的来源 URL、查询条件和采集时间。
- 费用上限或人工审批点。
Schedule 可以覆盖 Actor/Task 的部分输入,但这会让“控制台里保存的 Task”与“实际定时跑的输入”不一致。若必须覆盖,记录覆盖字段,并在变更后重新小样本验证。
失败不只等于红色状态
| 信号 | 可能原因 | 处理 |
|---|---|---|
| Run failed / timed out | 目标站变化、输入扩大、资源不足 | 读日志,缩小输入,避免盲目重复触发 |
| Succeeded 但 0 条 | 查询无结果、登录/地区变化、Actor 失效 | 用已知会返回的最小输入复测 |
| 条数骤降 | 页面结构、过滤条件或分页改变 | 抽查原始 URL 与字段,不只看总数 |
| 费用骤升 | 新计费事件、数量或重试增加 | 暂停 Schedule,回到 Pricing 与 Billing 对账 |
| 重复写入下游 | webhook/工作流重试没有幂等键 | 用 Run ID + item 标识去重 |
自动化的完成标准不是“Schedule 显示 Enabled”,而是每次运行都能被定位、对账和解释。
先用一小组 SKU 验证结果,再把同一输入保存成定时任务。
junglee/Amazon-crawler 按 $0.005/条计,$5 免费额度约合 1,000 条;不绑卡,跑完再决定要不要付费。
免费跑我自己的第一批 →