Локальный GAE читает и записывает в локальный файл хранилища данных на жестком диске во время его работы? - PullRequest
0 голосов
/ 30 марта 2011

Я только что заметил, что когда у меня есть работающий экземпляр моего приложения GAE, с файлом хранилища данных ничего не происходит, когда я добавляю или удаляю записи с использованием кода Python или в консоли администратора. Я даже могу удалить файл, но все данные в целости и сохранности доступны в админке и доступны из кода. Но когда я перезапускаю свое приложение, все данные, очевидно, исчезают, и у меня есть пустое хранилище данных. Итак, вопрос - GAE считывает все данные из файла только при его запуске, а затем обрабатывает его в памяти, сохраняя данные после того, как я остановил приложение? Делает ли он какие-либо запросы к файлу хранилища данных при запуске приложения? Если он ничего не сохраняет в файл во время работы, то, возможно, данные могут быть потеряны, если приложение неожиданно останавливается? Пожалуйста, дайте мне понять, если вы знаете, как это работает в этом аспекте.

Ответы [ 2 ]

3 голосов
/ 30 марта 2011

Как хранилище данных считывает и записывает свои базовые файлы, меняется: стандартное хранилище данных читается при запуске и записывается постепенно, в стиле журнала, так как приложение изменяет данные. Бэкэнд SQLite использует базу данных SQLite.

Однако вам не нужно об этом беспокоиться - ни один бэкэнд не рассчитан на устойчивость к ошибкам, поскольку они являются бэкэндами разработки. Вы также не должны изменять или удалять базовые файлы.

1 голос
/ 30 марта 2011

По умолчанию dev_appserver будет хранить свои данные во временном местоположении (именно поэтому они исчезают, и вы не можете видеть, что что-то меняется)

Если вы не хотите, чтобы ваши данные исчезали при перезапуске, установите --datastore_path при запуске вашего сервера разработки, например:

dev_appserver.py --datastore_path /path/to/app/myapp.db /path/to/app

Как сказал Ник, сервер dev не создан для пуленепробиваемости, он предназначен для быстрой разработки вашего приложения. Производственные настройки сильно отличаются и не приведут к неожиданностям, если вы столкнетесь с исключительными обстоятельствами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...