我正在尝试从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 作业的请求处理程序返回的状态代码不在 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/