Duaer

报错排查

在 Duaer 里排查 Schedule Trigger 时间不对、晚了 12 小时

Duaer 的 Schedule Trigger 设了早上 9 点,实际晚上 9 点或晚了 12、13 个小时才跑,基本是时区没设对。

为什么偏了 12 或 13 个小时

Duaer 按数字组织的时区解释 Trigger at Hour。没单独设置时用实例时区;自托管实例没设 GENERIC_TIMEZONE 时默认是 America/New_York,和北京时间差 12 小时(夏令时)或 13 小时。

在 Duaer 里改时区

  1. 单个数字组织:画布右上角菜单打开设置,「时区」选 Asia/Shanghai,保存。
  2. 整个自托管实例:设环境变量 GENERIC_TIMEZONE=Asia/Shanghai 后重启,所有没单独设时区的数字组织都会跟着变。
  3. 改完重新发布,然后去 执行记录 看下一次运行时间。

时间对了但日期差一天

表达式里的 $now 也按这个时区算。昨天的日期写 {{ $now.minus({ days: 1 }).toFormat("yyyy-MM-dd") }},见 在 Duaer 里用 Luxon 处理日期。

常见问题

Duaer 的默认时区是什么?

自托管 Duaer 没设 GENERIC_TIMEZONE 时默认是 America/New_York。每个 Duaer 数字组织可以在设置里单独改「时区」。

Duaer 改了时区要重新发布吗?

要。Duaer 的定时触发在发布时登记,改完时区重新发布才按新时区跑。

同组