Наша ситуация выглядит следующим образом:
Мы работаем над школьным проектом, цель которого состоит в том, чтобы несколько команд ходили по городу с умными телефонами и играли в городскую игру во время прогулки.
Таким образом, у нас может быть 10 активных умных людей, которые гуляют по городу, все публикуют информацию о своем местонахождении и запрашивают данные из Google Appengine.
Кто-то стоит за веб-браузером, наблюдает за тем, как все эти команды ходят вокруг, и отправляет им сообщения и т. Д.
Мы используем хранилище данных, предоставляемое Google Appengine, для хранения всех данных, которые эти команды отправляют и запрашивают, для хранения сообщений, их извлечения и т. Д.
Однако вскоре мы выяснили, что достигли максимального предела числа операций чтения и записи, поэтому мы искали решение, позволяющее извлекать периодические обновления (которые стоят больше всего операций чтения и записи) без использования ограниченных ресурсов, предоставляемых Google. И, очевидно, потому что это школьный проект, мы не хотим платить за дополнительные чтения и записи.
Сохранение этой информации в глобальных переменных казалось простым и быстрым решением, которым оно и было ... но когда мы начали действительно тестировать, мы заметили, что некоторые из наших данных отсутствовали, а затем снова появились. Это произошло из-за того, что к облаку было сделано так много запросов, что был создан новый экземпляр, и эти экземпляры не сохраняют эти глобальные переменные постоянными.
Итак, наш вопрос:
Можем ли мы каким-то образом убедиться, что эти глобальные переменные всегда одинаковы на каждом работающем экземпляре google appengine.
ИЛИ ЖЕ
Можем ли мы ограничить количество запущенных экземпляров, независимо от того, сколько запросов сделано до «1».
ИЛИ ЖЕ
Возможно, есть другой способ сохранить эти данные лучше, без использования хранилища данных и без использования глобальных переменных.