node.js - 从 firebase 返回响应的正确方法是 Google Cloud Pub/Sub 触发器

标签 node.js firebase cron google-cloud-functions

我正在尝试从functions-cron示例中实现firebase cron函数

var functions = require('firebase-functions');

exports.hourly_job =
  functions.pubsub.topic('hourly-tick').onPublish((event) => {
    console.log("This job is ran every hour!")
});

我只是想知道按照请求返回 200 响应的正确方法,因为我有错误日志

函数返回未定义的、预期的 Promise 或值

因为我无法像 HTTP 触发器中那样访问响应对象,所以我只想知道返回 200 int 值是否足够?

文档指出以下内容

Cron retries

如果 cron 作业的请求处理程序返回的状态代码不在 200–299(含)范围内,App Engine 会认为该作业已失败。默认情况下,不会重试失败的作业。您可以通过在配置文件中包含 retry_parameters block 来重试失败的作业。

最佳答案

Pub/Sub 触发器没有响应。他们只是在消息出现时接收消息。只有 HTTPS 触发器需要将响应发送到客户端。

如果您想阻止出现该警告消息,只需在函数末尾返回 null 即可,如您现在所示。实际的返回值是没有意义的。如果您在函数中执行异步工作,则应该返回一个在工作完成时解决的 promise 。

关于node.js - 从 firebase 返回响应的正确方法是 Google Cloud Pub/Sub 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48093863/

相关文章:

javascript - Firebase 云功能无法正常工作?

firebase - Flutter 应用程序在云 Firestore 上执行并发事务时崩溃

php - 如何自动发送电子邮件

javascript - 在 Node.JS 中,如何从单独的 .js 文件返回整个对象?

node.js - 无法设置远程报价 sdp : Session error code: ERROR_CONTENT

php - 客户端发送大负载时 Gearman 速度变慢

javascript - 如何通过 Socket.IO 服务器端发送和捕获消息

javascript - 将错误数据从 Firebase 或服务器响应传递给 Formik

ruby-on-rails - 如何使用 Rails 设置 cron 作业?

php - 预定销售结束,但查看产品时可变产品似乎仍在销售 - Woocommerce