Google Cloud功能未终止过去的最大功能持续时间

时间:2017-08-30 22:25:38

标签: node.js google-cloud-functions

在时间限制部分下的Google Cloud Functions文档中,它表示最长持续时间应为540秒。之后,云功能应该终止。

“最长功能持续时间 - 功能在强行终止之前可以运行的最长时间 - 540秒

我在http-triggers上运行了一些测试,并注意到如果在6秒内没有发回响应,则函数终止。

我还运行了另一个测试,它立即发回一个响应并且每分钟都异步记录一条消息。

目前40分钟后,它仍在记录消息。

以下是代码段:

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')
};

这是一个错误,还是故意的?

1 个答案:

答案 0 :(得分:2)

1)我还没有看到6秒的HTTP超时,你能提供重现的任何步骤吗?

2)云功能当前(2018年2月)如果在飞行中仍然存在异步任务,则在超时后强制停止功能; CPU限制下降,但该功能可能会运行(未定义)时间。最初的想法是在停止功能之前让小清理/后台工作完成。 但是,我们可能会更改此行为以在超时时停止该功能,因为当前行为可能会给开发人员造成混淆,因为它无法保证或记录多长时间功能可以运行,在什么情况下运行。