Skip to main content
执行语义定义你能从 BlockX 结果中推断什么。在 EVM 数据流程中,任务受理、函数完成、Writer Plugin 成功与目标数据可读是不同的观察点。

完成边界

任务成功不建立跨表快照,也不会推进所有下游消费者。调用方应检查下一步要读取的数据是否就绪。

区块与 bundle 写入

  • 区块路径使用 Sync: false 提交写入。
  • bundle 路径初始化 BatchWrite 作业、上传数据并提交。取得提交响应后即返回,不等待作业在存储侧完成。
  • 输出区块或 bundle 应与源计算保持对应。
  • Debug 写表只生成预览,不持久化数据。

订阅与查询

当 WATCH_DISCONNECT_GRACE_MS 为正值时,最后一条 Watch 流断开会启动宽限期。若没有流重新连接,任务以 WATCH_DISCONNECTED 失败。默认值 0 禁用该行为,从未被订阅的任务不受影响。结果查询不会建立 Watch 流。

重复提交与失败

  • 任务运行时,向同一 Worker 重复提交会返回当前状态。
  • 结果保留期内,重复提交相同任务标识会返回终态。
  • 新任务标识代表新的工作。重新提交写入前,先检查之前的操作是否已经生效。
  • bundle Writer 将提交结果未知的错误归为不可重试。应检查写入作业,不能据此推断没有写入。

小结

  • 返回值可以直接读取,写入数据需要确认存储条件。
  • 任务运行期间保持 Watch 连接。
  • 结合任务结果与写入上下文决定是否重复执行。
继续阅读: