【发布时间】:2018-02-08 18:26:57
【问题描述】:
在时间限制部分下的Google Cloud Functions 文档中,它说最大持续时间应为 540 秒。之后,云功能应该终止。
“最大函数持续时间 - 函数在强制终止之前可以运行的最长时间 - 540 秒”
我对 http-triggers 进行了一些测试,发现如果在 6 秒内没有发回响应,函数就会终止。
我还运行了另一个测试,它立即发回响应并每分钟异步记录一条消息。
目前 40 分钟后,它仍在记录消息。
这里是sn-p的代码:
function recursiveCallback (n) {
console.log(`MarkTest: Callback Pass ${n}`);
setTimeout(function () {
recursiveCallback(n + 1);
}, 1000 * 60);
}
exports.test_func = function (req, resp, callback) {
console.log('Sending Response. response');
resp.send('');
console.log('Response Sent.');
console.log('Starting Async Polling');
recursiveCallback(0);
console.log('test_func End')
};
这是一个错误,还是故意的?
【问题讨论】:
-
在最长持续时间之后能够继续运行您的函数似乎是一个错误。为了安全起见,您应该遵守指定的限制。 Nathan 发现了与您相同的行为并将其报告给 Google。有关更多详细信息,请参阅他的帖子。 blog.liftsecurity.io/2017/04/11/…
-
根据我的经验,http 触发的函数不会在 6 秒后终止。如果再次发生这种情况,请考虑提交错误报告。
标签: node.js google-cloud-platform google-cloud-functions