Убедитесь, что пакетные запросы PubSub отправляются в Google Cloud Run Node App - PullRequest
1 голос
/ 09 марта 2020

У меня есть сервер NodeJS, работающий в контейнере в Google Cloud Run. Он публикует сообщения в PubSub.

// during handling a request, 
const topic = pubsub.topic(topicName, {
    batching: {
        maxMessages: 1000,
        maxMilliseconds: 1000,
    },
});

// publish some messages
someArray.forEach((item) => {
    topic.publishJSON(item);
});

Давайте предположим, что someArray.length меньше maxMessages. Что произойдет, если узел отправит ответ до истечения maxMilliseconds? Сообщения отправлены? Google Cloud Run уничтожает контейнер при ответе http или каким-то образом знает, что библиотека PubSub установила тайм-аут?

1 Ответ

0 голосов
/ 10 марта 2020

Cloud Run не уничтожает контейнер сразу, но ограничивает его доступ к ЦП после обработки запроса. Как видно из документации, все асинхронные задачи в рамках обработки запросов завершены. Попробуйте async / await как в примере .

...