并行执行与顺序执行有什么区别?
在配置 Web3 Action 时,您可以在两种执行模式之间选择。当有多个被触发的 Web3 Action(例如来自同一区块的交易)时,这两种模式的行为如下:
- 顺序(sequential):执行会遵循触发发生的顺序;在触发
N-1完成之前,触发N会等待执行。执行顺序有保证。 - 并行(parallel):所有触发都会被提交执行,执行顺序无法保证。
execution_type 如何设置。在持续高负载下,严格顺序是尽力而为的:如果某个顺序执行的 action 持续落后于其触发器,Tenderly 可能会将其切换为并行执行以赶上进度,并在切换时通过邮件通知您。两者适用不同的速率限制。WRITE、COPY ON WRITE 和 EMPTY 存储类型有什么区别?
- Write:这是默认选择的类型。它始终用于自动触发器,会将数据写入
主存储。请注意,此类型可能覆盖主存储中的数据。
- Copy on write:此类型会创建主存储的副本作为临时存储。可用于 手动触发器。触发器停止运行后,写入临时存储的所有内容都不会 被保留。
- Empty:此类型会创建临时的空存储。可用于手动触发器。empty 存储类型对主存储没有任何引用。触发器停止运行后,写入到该类型存储中的所有内容 都会消失。
存储限制是多少?
Storage 允许每个项目最多 1,000 个键,键最大 1 KB,值最大 100 KB。超出限制会返回
400 Bad Request 错误,并指出违反的具体限制。参见 Storage 限制。可以提高 Web3 Actions 的存储限制吗?
每个值 100 KB 的限制是底层存储引擎的硬性限制,无法提高。如果单个条目需要更多空间,请将其拆分到多个键中,或保存在外部数据库中并将其凭据存储在 Secrets 中。如果您接近每个项目 1,000 个键的限制,请联系 support@tenderly.co。
Web3 Action 项目的大小限制是多少?
当您使用 CLI 创建 Web3 Action 时,整个 NPM 项目将被压缩并上传到 Tenderly。
包含
node_modules 在内的压缩包最大大小为 40 MB。Web3 Actions 的执行超时是多少?
执行默认限制为 30 秒,超时后将被终止。如需更长时间,请通过 support@tenderly.co 联系我们的支持团队讨论您的使用场景。延长的时间限制仅适用于并行 actions;顺序执行保持 30 秒的限制。获取更多关于执行状态类型的信息。
我有一个 tenderly.yaml 文件,其中包含两个具有相同触发器(某个合约事件)的 Web3 Actions。清单文件中先声明的 Action 是否总是会先于第二个被调用?
两个具有相同触发器的独立 Web3 Actions 会并行执行,因为它们是彼此隔离且互不知晓
的实体。
我的 Web3 Action 失败了,为什么没有收到邮件?
只有在创建新事件时才会发送失败邮件:即某个错误在当前版本的 Action 上通过触发器运行首次出现时。请检查以下几点:
- 同一错误的重复出现会归入现有事件,在该事件于 Error Reporting 中被解决之前不会再发送邮件。
- 手动运行和重新运行无论结果如何,都不会发送失败邮件或创建事件。
- 以
TIMED_OUT、RATE_LIMITED或TU_QUOTA_REACHED结束的执行不会发送失败邮件。 - 目标邮箱必须在 Action 的 Destinations 部分完成验证并处于开启状态。
我收到了 “action reached a rate limit” 邮件。这是什么意思?
该 action 的触发频率超过了其单个 action 的执行速率限制。超出限制的执行已被跳过:它们在执行历史中显示为
RATE_LIMITED 且不会重试。此通知是批量发送的,每个 action 每 24 小时最多收到一封此类邮件。如果您的工作负载需要更高的速率,请联系 support@tenderly.co。Tenderly 如何处理 Web3 Actions 的日志?
Tenderly 会记录每一次 Web3 Actions 的执行。日志可在 Tenderly Dashboard 上访问和查看,以便进行调试。