Ваш анализ ситуации правильный, веб-приложение Python - это длительный процесс. Требуется много времени, чтобы раскрутить интерпретатор Python и не выполняется каждый запрос.
Вполне возможно создать глобальную переменную, которая будет отличаться для каждого запроса. Это делается во многих рамках, и людям это нравится. Способ сделать это зависит от сервера. Большинство серверов используют «один поток на запрос», и я думаю, что GAE делает то же самое. В этом случае вы можете использовать переменную локального потока . Если вас беспокоит то, что это значение остается между запросами в этом потоке, вам понадобится некоторый код управления, который может подключиться к началу / концу запроса. Промежуточное программное обеспечение WSGI является хорошим местом для этого, если инфраструктура WebApp2 не обеспечивает хороший способ сделать это.
Это просто Python, и запрос обрабатывается в своем собственном потоке. Оттуда вы можете делать то, что хотите. В Python нет ничего, что просто сбрасывало бы все глобальные переменные, и, как правило, нет гарантии (особенно с GAE), что процесс, обслуживающий ваш запрос, будет всегда один и тот же процесс, то есть ваши глобальные переменные не должны использоваться для сохранения данных между запросами, если только вы действительно знаю, что ты делаешь.
Есть много фреймворков, которые уже обеспечивают хорошую поддержку для этого, поэтому, если WebApp2 этого не сделает, я бы посоветовал искать в другом месте. В Python есть много опций, и многие из них работают на GAE.