keeper sync 将空的上下文传递给链上 RPC 调用
作者: Aboudjem创建于 2026年3月11日更新于 2026年8月11日
我正在调查一个守护节点的缓慢关闭行为,发现 syncUpkeep 和 newRegistryFromChain 路径传递了 nil CallOpts 给 GetUpkeep 和 GetConfig。这两个函数都从调用者接收了上下文,但从来没有将其传递到链上调用中。这意味着这些 RPC 完全忽略上下文取消 - 在关闭或任务停止时,它们会阻塞直到 RPC 超时(默认为 30 秒)而不是尊重父上下文。在正常运行时,这是看不见的,但在具有多个注册表的优雅关闭过程中,它会累积起来。上下文就位于函数签名中,只是没有通过线路传递。
内容来源: smartcontractkit/chainlink