故障排查GitHub issue2 分钟阅读排错/错误码

解决FastGPT工作流时间插件获取时间偏差8小时的问题

用户在K8s部署的FastGPT私有部署版本4.9中,遇到工作流时间插件的时间获取异常问题。通过在线调用时间插件时,获取的时间正确;但通过对话接口/api/v1/chat/completions调用同一工作流中的时间插件时,获取的时间比正确值差8小时。

现象

用户在K8s部署的FastGPT私有部署版本4.9中,遇到工作流时间插件的时间获取异常问题。通过在线调用时间插件时,获取的时间正确;但通过对话接口/api/v1/chat/completions调用同一工作流中的时间插件时,获取的时间比正确值差8小时。用户已在容器内设置TZ=Asia/Shanghai环境变量,且勾选了K8s部署的同步主机时间选项,但该配置未生效。仅包含时间插件的工作流也存在同样问题。

可能原因

结合问题表现与配置信息,可能的原因包括:容器内配置的时区环境变量未被工作流运行环境正确加载;K8s部署时勾选的同步主机时间配置未实际生效;对话接口调用工作流的运行环境时区与在线调用的环境时区不一致;时间插件的时间获取逻辑未正确读取系统时区。

排查步骤

  1. 进入工作流运行的容器,执行date命令,查看当前系统显示的时间与时区,确认是否与预期的Asia/Shanghai时区一致。
  2. 检查K8s部署配置中勾选的同步主机时间选项,确认该配置已正确同步到对应Pod的运行环境中。
  3. 对比在线调用与对话接口调用时的工作流运行容器,确认两者的时区配置是否存在差异。
  4. 查看时间插件的代码逻辑,确认其时间获取方式是否依赖系统时区配置。

解决与验证

解决方法:确保容器内的TZ=Asia/Shanghai环境变量被正确加载,可通过重启相关Pod使配置生效;重新应用K8s部署配置,确认同步主机时间的选项已正确应用到Pod中;检查对话接口调用的运行环境,确保其时区配置与在线调用的环境一致。 验证方法:分别通过在线调用和/api/v1/chat/completions接口调用包含时间插件的工作流,确认两次获取的时间均与当前北京时间一致,无8小时偏差。

来源:FastGPT GitHub issue