httpトリガーにすばやく応答して作業を続ける非同期機能をプログラミングしました。レスポンス後にGoogle機能を停止させない方法(res.status)
私はブロッキングの問題に直面しています:res.status('200').send('Message')
が送信された後すぐに機能が停止するように見えます。例えば
:
exports.functionName = function functionName (req, res) {
function_promise1(req)
.then(function(){
return function_promise2()
})
.then(function (response){
res.status(200).send('Triggered !');
function_promise3() //Won't be executed ! Or only for few ms.
})
.catch(function (e) {
console.error(e.message);
res.status(500).send(e.message);
})
};
は、Googleの機能が実際に応答した後、または私は何かが欠けています停止していますか?
「送信」を呼び出すと、終了します。ログメッセージが必要な場合は、http応答ではなくログを使用する必要があります。これはクラウド機能だけではなく、すべてのHTTPレスポンスに適用されます。 –
偉大な*答えのような音* Andrei! :-) –