在Firebase Cloud Functions v1中,可以在函数的签名中配置预定函数的时区.

exports.v1ScheduledFunction = functions.pubsub.schedule("every day 00:00")
                                              .timeZone("Etc/GMT+12")
                                              .onRun(async (context) => {
    ...
});

然而,随着v2中语法的变化,这一点也发生了变化.

exports.v2ScheduledFunction = onSchedule("every day 00:00", async (event) => {
    ...
});

文档中说,v2可以采用Unix Crontag和App Engine的语法作为字符串Schedule.然而,我认为您不能在Unix Crontab语法或App Engine语法中指定时区.有没有办法在代码中为v2中的预定函数指定时区?若否,又如何进行呢?

推荐答案

根据API reference,第一个参数要么是明细表,要么是scheduler.ScheduleOptions对象.仅供参考:此Options对象还可以包含GlobalOptions(secretsregion等)中的选项.

要指定时区,您可以使用:用途:

exports.v2ScheduledFunction = onSchedule(
  {
    schedule: "every day 00:00",
    timeZone: "Etc/GMT+12"
  },
  async (event) => {
    // your function code
  }
)

Node.js相关问答推荐

如何使用MongoDB在Node.js 中向数组中添加项?

从目录中获取所有文件,而不是NodeJS中的单个文件

正在try 使用Azure Function App上载文件时未上载文件(&Q;)

在 TypeScript 中正确键入 MongoDB find 方法

Google App Engine 突然不允许我部署我的 node.js 应用程序

为什么它无法发送发布请求并更改为 chrome 中的获取方法?

try 在 NodeJS 项目中实现 SimplePay (OTP) 支付网关,但我无法获得与技术文档中相同的签名

如何使用来自前一阶段的另一个数组的聚合mongoose 在数组中添加字段

JAVASCRIPT:foreach 循环后的空数组

仅显示用户在 Reactjs 中使用服务器端发布的帖子是 Node Js、Mongodb

使用 grunt 服务器,如何将所有请求重定向到根 url?

带有 node.js 和 express 的基本网络服务器,用于提供 html 文件和assets资源

`npm install` 以Killed结尾

如何获取在 NodeJS 中执行的脚本的文件名?

通过 POST 请求将数据从 node.js 服务器发送到 node.js 服务器

如何在 MongoDB 中查询引用的对象?

nodejs v10.3.0 的 gulp 任务问题:src\node_contextify.cc:629: Assertion `args[1]->IsString()' failed

Meteor - collection.find() 总是返回所有字段

如何忽略文件 grunt uglify

如何创建安全(TLS/SSL)Websocket 服务器