GAE app.yaml, кажется, непоследовательно направляет запросы - PullRequest
1 голос
/ 26 июня 2011

У меня есть следующее в app.yaml:

- url: /gae_mini_profiler/static
  static_dir: gae_mini_profiler/static

- url: /gae_mini_profiler/.*
  script: gae_mini_profiler/main.py

- url: .*
  script: main.py

и следующее в gae_mini_profiler / main.py:

def main():
    logging.critical("gae_mini_profiler request!")
    run_wsgi_app(application)

Однако, когда я запускаю запросы, скажем,/ gae_mini_profiler / request? request = ABC и многократно перезагружать страницу, иногда я получаю правильный ответ (а также запись в журнале «gae_mini_profiler request!», а иногда я получаю пустой ответ, и ничто в App Engine не регистрирует другиечем 200 с пустым телом ответа.

Это полностью воспроизводимо, происходит только в реальной среде, и я бы сказал, что ~ 50% обновлений работают, а 50% - нет.

Это происходит только в производстве. Есть идеи?

1 Ответ

4 голосов
/ 27 июня 2011

У вас есть эта строфа в конце вашего main.py?

if __name__ == '__main__':
  main()

В первый раз, когда данный сервер приложений обрабатывает запрос с данным обработчиком, он просто импортирует его. Этот раздел говорит интерпретатору запускать функцию main() при импорте в качестве обработчика. При последующих запросах appserver запускает main напрямую, поэтому вы каждый раз видите выходные данные.

...