Изменить время выполнения функции Google Cloud, запускающей службу ExpressJS в коде?

#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 для изменения времени ожидания. Однако это не повлияет на выполнение какой-либо уже запущенной функции.