Вы задали несколько вопросов, поэтому давайте go один за другим:
- Сеансы не связаны с TCP-соединениями. Соединение TCP поддерживается, когда и клиент, и сервер договорились об этом, используя поддержку заголовка HTTP. (Цитируется из Пабло Санта-Крус в этом ответе ).
- Глядя на модуль session.py в строке 1010 в определении
__getitem__
Я нашел следующее TODO: It's broke here, but I'm not sure why, it's returning a model object
. Может быть что-то в этом роде, я сам не отлаживал. - Из appengine_utilities документация сеансы хранятся в Datastore и Memcache или хранятся полностью в виде файлов cookie. Первый вариант также включает в себя отправку токена клиенту для идентификации его в последующих запросах. Выбор того или другого зависит от ваших реальных настроек или настроек по умолчанию, если вы не настроили свои собственные. Настройки по умолчанию определены для использования опции хранилища данных.
- В отношении повторного выполнения кода вы можете проверить, добавляете ли вы какой-нибудь код регистрации, чтобы подсчитать, сколько раз выполняется функция.
Что-то важное, я заметил, что в этой библиотеке было последнее обновление от 2 января 2016 года, поэтому она не использовалась в течение 4 лет. Будет лучше, если вы перейдете на новейшую библиотеку, например, модуль webapp2 session . Кроме того, Python 2 к этому году (1 января 2020 года) закроется , так что вы можете вместо этого переключиться на python 3.
PD: Я нашел точный код, который вы разместили под этот сайт . В случае, если вы взяли его оттуда, подумайте в следующий раз, чтобы включить ссылку / ссылку на источник.