定时任务
未登记
已授权
待授权
(登记 ≠ 生效:授权后才会按设定时间自动跑)
{{ 任务.任务名 || 任务.任务键 }}
{{ 取触发方式(任务) }}
店铺:{{ 任务.店铺名称 }}
下次执行:{{ 时间串(任务.下次执行时间) }}
上次结果:{{ 任务.上次结果 }}
授权
取消授权
还没有登记定时任务:本模板在 app.js 顶层用 云捷.定时.注册 登记,重新打开一次插件就会登记;
登记后在这里点「授权」,任务才会按设定时间(本示例是每天 09:00)自动执行。
最近快照
(共 {{ 快照列表.length }} 条;定时任务后台跑完的结果就存在这里)
{{ row.在售商品数 }}
读取失败
{{ 时间串(row.时间) }}
还没有数据:点右上角「立即执行一次」就跑一轮(不用等定时器)。
这个模板演示了什么
· 顶层登记:云捷.定时.注册({ 键, 名称, 触发方式:'daily', 执行时刻, 权限, 执行 })
—— 必须写在模块顶层(被定时唤醒时客户端靠它找到「执行」)
· 执行函数:逐店取数 → 写本地库(云捷.数据库)→ 返回
{ 成功, 消息 }(返回值 SDK 自动上报到「我的应用 → 定时任务」的上次结果)
· 授权:云捷.定时.我的列表() 看「已授权 / 待授权」,
云捷.定时.设置授权(任务ID, true) 一键授权(旧客户端不支持时会提示去「我的应用 → 定时任务」手动授权)
· 手动执行:点「立即执行一次」调的是同一个执行函数,方便开发时反复验证
· 宿主机制:客户端没开不执行、错过的不补跑;任务只存本机;到点是后台静默跑(所以结果要落库,
业务代码不要弹需要人点的框)。详见「参考/08-宿主能力.md」第 1 节。