首页 > 解决方案 > Firebase Scheduler 的 Cloud Functions 时区不会更改

问题描述

我目前正在创建和部署一个函数,以便在 Cloud Functions for Firebase 调度程序中定期执行,如下所示。关键是我希望它每天在日本时间 0:05 以 .timeZone('Asia/Tokyo') 的形式执行。

部署本身工作正常,但是当我查看 GCP 的 Cloud Scheduler 中的内容时,时区设置为(美国/洛杉矶),如下图所示,实际执行时间与日本时间不同。

我在 Cloud Scheduler 功能管理屏幕中手动将时区更改为日本时间,并确认达到了预期的行为,但是当我再次部署该功能时,它仍然设置为 (America/LosAngeles)。

我认为它可能会受到 GCP 本身区域的影响,并且我必须更改 GCP 的区域,但我还没有找到可以从哪里更改它。但是,我认为我应该能够从代码中为每个函数指定 .timeZone 。我不知所措。

我不知道如何解决这个问题,我想知道是否有人可以帮助我。

exports.XXX = functions.pubsub
.schedule('every day 0:05')
.timeZone('Asia/Tokyo')
.onRun((context) => {
///省略
});

在此处输入图像描述

先感谢您。

标签: firebasegoogle-cloud-platformgoogle-cloud-functionsgoogle-cloud-scheduler

解决方案


我也遇到过同样的问题。这里也有一个类似的问题,以及为我降级firebase-tools作品的解决方案。


推荐阅读