定时事件公约 0.1.0
此包使客于定时事件(cron 所发)读其所由发之 cron 与计划之刻。读取定时事件 惟当前事为定时方可用,即[网页入站公约](../网页入站/规范.文言.md)之 读取入站事件种类 返 scheduled;客据此择己之定时入口。返 JSON 文,式如 {"cron":"*/10 * * * *","scheduledTime":1758801600000}。cron 乃发此调用之 cron 原文;scheduledTime 乃平台所约当发之刻,以 Unix 毫秒整数记之(自 1970-01-01T00:00:00Z 起),或早于程序实起之时;手动或试发者,平台可授其发之一瞬。整数以十进原文授客,不经浮点。于他事(如常 HTTP 请)而呼之则败,抛可以「尝试运行」捕之豫言异,非宿主之故。
事之寿
定时之事,其寿等于豫言程序之一行:宿主使平台之定时调用待程序毕乃止(其待兼授 waitUntil),客于入口所成之诸事,含待外请、书存储,皆在同一定时调用之内;程序返则此调用终,平台得收未毕之后台事。程序抛未捕之豫言异,则此调用为平台记败,重试与否由平台定时之策决之,此约不设 noRetry。定时之事无 HTTP 响应,客不得呼网页答复包之术。客不当设同一计划之刻仅投一次,欲幂等者自守之。
一致之例
| 情境 | 必见 |
| --- | --- |
| cron 为 */10 * * * *,计划之刻 1758801600000 | 所返 JSON 析之,cron 相等,scheduledTime 为整数 1758801600000 |
| 计划之刻为 0 或 8640000000000000 | 整数原样而返,无小数点与指数 |
| cron 含双引号、反斜线 | JSON 转义之后可无损析还原文 |
| 于常 HTTP 请中呼之 | 抛可捕之豫言异,辞言当前事非定时 |
| 程序于定时事中待一异步之书而后返 | 定时调用待书毕乃终 |
| 程序于定时事中抛未捕之异 | 定时调用败,宿主不吞其异 |
界
此包不析 cron,不列所部署之 cron,不承计划之刻与实行之刻相隔几何,亦不设 noRetry、重试之数与同一计划刻之去重。云工适配以 scheduled 事映此约;他平台可以等价之定时器承之,惟 cron 与 scheduledTime 之义及事之寿须同。