Облачные функции Google: контекст исполнения nodejs и глобальные переменные - PullRequest
0 голосов
/ 11 ноября 2018

Как облачные функции Google обрабатывают запросы внутренне?

Может ли один nodeapp с функциональной логикой внутри облачной функции Google работать по нескольким запросам одновременно? Или каждый запрос направлен на выделенную функцию с отдельной контекстной средой узла, и новые запросы не попадут в облачную функцию Google, пока не завершат начальный запрос?

Сохранится ли глобальное состояние между вызовами функций? Если я увеличу global.a ++, будет ли он увеличиваться с каждым обслуживаемым запросом или будет начинаться с нуля с каждым запросом? Если я добавлю переменную, такую ​​как global.username = 'bobby', будет ли она такой же во время выполнения функции? Или следующий параллельный запрос к тому же экземпляру функции, пока он работает с начальным запросом, может изменить его так, чтобы имя global.user было из последнего запроса?

1 Ответ

0 голосов
/ 11 ноября 2018

Это подробно описано здесь: https://cloud.google.com/functions/docs/concepts/exec

Кратко:

  • "каждый экземпляр функции обрабатывает только один одновременный запрос за раз"

  • "когда выполнение одной функции заканчивается, другой вызов функции может быть обработан тем же экземпляром функции." Однако нельзя полагаться на состояние, сохраняющееся между выполнениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...