2013-02-23 2 views
0

Я пытаюсь написать программу в Google App Engine (Python), чтобы постоянно запускать резидентный бэкэнд, который работает над поиском того, с чем сходится серия. Я хочу сделать так, чтобы он работал в Backend, записывался в Datastore, и в любой момент времени вы можете определить, какой элемент находится в этой серии, и какое значение оно есть. Бэкэнд записывает только один объект в хранилище данных, поэтому он не перегружает хранилище или что-то еще. Вероятно, я столкнулся с тем, что бэкэнд не записывает объект в хранилище данных, поэтому он доступен на моей веб-странице внешнего интерфейса, пока бэкэнд не будет закрытие, которое побеждает цель постоянно следить за ним. Если есть какой-то способ, чтобы файл Backend записывался в хранилище данных, чтобы страница интерфейса могла его проверить, скажите, пожалуйста!Запись в Datastore из Backends без закрытия

ответ

0

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

Похоже, вам просто нужно реализовать повторяющуюся запись текущего состояния вашей серии (т. Е. Один раз каждые x циклов), вместо того, чтобы писать один раз в конце бэкэнд-процесса.

0

Вы публикуете два вопроса.

Первый вариант «без выключения». Мы не гарантируем, что серверы будут работать бесконечно. См. the docs on Shutdown для некоторых деталей.

Вторая проблема, если я понимаю вас, заключается в том, что вы не видите значения, написанные бэкэндом, до некоторого времени после их написания. Возможно, вы сталкиваетесь с «возможной согласованностью», «возможны», как правило, довольно короткие, но в редких случаях это может быть удивительно долго. Понимание Isolation and Consistency может помочь здесь.

Смежные вопросы