Как работают динамические серверы в Google App Engine

Можем ли мы запустить динамический бэкэнд программно? означает, что когда начинается бэкэнд, как я могу обработать запрос, отступив от приложения (я имею в виду app.appspot.com).

Когда я останавливаю бэкэнд вручную в консоли администратора и отправляю запрос на него, его не запускается "динамически"

Ответ 1

Динамические резервные копии возникают, когда они получают запрос, и при простоя выключены; они идеально подходят для работы, которая прерывистый или управляемый действиями пользователя.

Резидентные серверы работают непрерывно, что позволяет полагаться на состояние их памяти с течением времени и выполнить сложную инициализацию.

http://code.google.com/appengine/docs/python/backends/overview.html

Недавно я начал выполнять долговременную задачу на динамическом бэкэнд и заметил резкое увеличение производительности интерфейсов. Я предполагаю, что это связано с тем, что долго работающая задача конкурировала за ресурсы с обычными пользовательскими запросами.

Ответ 2

Бакеры полностью документированы здесь. Бакеры необходимо запускать и останавливать с помощью appcfg или консоли администратора, как описано здесь. Остановленный бэкэнд не будет обрабатывать запросы - если вы этого хотите, скорее всего, вы должны использовать очередь задач.

Ответ 3

Похоже, что динамический бэкэнд не должен быть явно остановлен. Наверху (http://code.google.com/appengine/docs/python/backends/overview.html) указано, что биллинг для динамического бэкэнда останавливается через 15 минут после обработки последнего запроса. Итак, если ваше приложение имеет задание cron, например, для выполнения которого требуется 5 минут, и его нужно запускать каждый час, тогда вы можете настроить бэкэнд для этого. Стоимость, которую вы понесете, составляет 15 + 5 минут каждый час или 8 часов в течение всего дня. Я полагаю, что свободная квота позволяет вам 9 бэкэнд-часов. Таким образом, этот тип сценария будет бесплатным для вас. Бэкэнд начнется, когда вы отправите свой первый запрос на него через очередь, и остановитесь через 15 минут после того, как последний отправленный вами запрос будет обработан полностью.