Обнаружение «запроса на загрузку» в Google App Engine Python - PullRequest
0 голосов
/ 10 мая 2019

Мне нужно убедиться, что какой-то код инициализируется в экземпляре GAE, когда он запускается.Есть ли способ обнаружить в коде, что запрос является «загрузочным запросом»?

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

1 Ответ

0 голосов
/ 10 мая 2019

Примечание: этот ответ написан с учетом стандартной среды Python 2.7, я не уверен, будет ли что-то эквивалентное возможным для всех других языков / сред выполнения и как это будет работать.

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

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

Что-то в этом родестроки:

import ...

def my_desired_init_function():
    pass  # replace with what you need to do

my_desired_init_function()

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