#express #timeout #google-cloud-functions
#экспресс #время ожидания #google-cloud-функции
Вопрос:
Как изменить время выполнения для облачной функции Google, запускающей службу ExpressJS в коде?
Я нашел документацию для функций Google, чтобы изменить время ожидания по умолчанию в 60 секунд для простой функции.
https://cloud.google.com/functions/docs/concepts/exec
exports.afterTimeout = (req, res) => {
setTimeout(() => {
// May not execute if function's timeout is <2 minutes
console.log('Function running...');
res.end();
}, 120000); // 2 minute delay
};
Экспресс
const express = require('express');
const app = express();
...
module.exports.app = app;
Спасибо
Комментарии:
1. Я не совсем понял. Вы спрашиваете, возможно ли программно изменить время ожидания текущей выполняемой функции? Или вы пытаетесь изменить время ожидания функции для всех будущих вызовов? Или что-то еще?
Ответ №1:
Независимо от того, что вы запускаете в своей облачной функции, при ее развертывании с помощью gcloud
команды вам просто нужно установить --timeout
флаг на желаемое значение (в секундах), до 9 минут.
Если вы используете консоль для создания облачной функции, прямо над кнопкой «Создать» есть выпадающее меню, которое покажет вам дополнительные параметры, где вы можете выбрать желаемое время ожидания (от 1 до 540 секунд).
Если вы хотите сделать это во время выполнения, изнутри самой функции, вы могли бы выполнить вызов API для изменения времени ожидания. Однако это не повлияет на выполнение какой-либо уже запущенной функции.