豫豫言文档API ATLAS
入口豫言操作系统持久独占适配。包。豫
2 模块10 名称
全部模块

豫言 / 豫言操作系统持久独占适配 @ 0.1.0

以 blockConcurrencyWhile 与事件重入实现豫言持久独占接口。

说明.汉语.md

# 云工持久独占适配

`独占。豫` 用 `ctx.blockConcurrencyWhile` 与事件重入实现[持久独占接口](../../../豫言操作系统接口/持久独占/规范.汉语.md):`执行持久独占` 调宿主 `云工持久独占执行安全`,宿主在 `blockConcurrencyWhile` 回调里以 `durable-block` 事件重入 `_start`,处理入口经 `读取持久独占名`、`读取持久独占参数` 取入参,经 `完成持久独占` 设置结果(宿主用原生 `JSON.parse` 校验参数与结果,各 ≤ 8 MiB)。区内的失败在回调内被捕获并作为值返回,**不会抛给平台回调**(平台会因此重置整个对象),适配再把它转成可捕获的豫言异常。适配检查事件种类:只有持久对象的 `durable-*` 事件(不含 `durable-transaction`、`durable-block`)可以开区。

`durable-block` 事件默认 25 秒墙钟时限(平台 30 秒重置线之内),可由宿主 `执行配置.json` 调至最多 30 秒。本地 workerd 4.129.0 已验:区内等待外部输入输出时其他事件排队、多个区依次执行、区内失败不重置对象、超过 30 秒平台重置对象;云端待验证,见 `豫言操作系统/宿主/云工/说明.汉语.md` 的清单。

说明.文言.md

# 云工持久独占适配

`独占。豫` 借 `ctx.blockConcurrencyWhile` 与事重入,以承[持久独占之约](../../../豫言操作系统接口/持久独占/规范.文言.md):`执行持久独占` 呼宿主 `云工持久独占执行安全`,宿主于 `blockConcurrencyWhile` 之回调中以 `durable-block` 之事重入 `_start`,入口以 `读取持久独占名`、`读取持久独占参数` 取入参,以 `完成持久独占` 定其果(宿主以原生 `JSON.parse` 验参与果,各不逾八 MiB)。区内之败,于回调内捕之而以为值返,**不抛于平台之回调**(平台必因此重置整个对象),适配复转为可捕之豫言异。适配察事类:惟持久对象之 `durable-*` 事(除 `durable-transaction`、`durable-block`)可开区。

`durable-block` 之事默墙钟二十五秒(平台三十秒重置线之内),可由宿主 `执行配置.json` 调至多三十秒。本地 workerd 4.129.0 已验:区内候外物之出入则他事排队、诸区依次而行、区内败不重置对象、逾三十秒则平台重置对象;云端待验,见 `豫言操作系统/宿主/云工/说明.文言.md` 之清单。