Проще ли собирать данные для gae-приложения в dev и загружать их в prod? - PullRequest
2 голосов
/ 26 октября 2010

Мне нужно запустить задачу очистки для сбора данных для моего приложения App Engine (Java).

Я не уверен, что лучше - очистить данные в режиме разработки и загрузить их в prod или очиститьпока приложение запущено в производство.

Имеет ли это значение?

Есть ли трудности с переносом больших объемов данных из одной среды в другую (dev->prod или prod->dev)?

Ответы [ 3 ]

6 голосов
/ 26 октября 2010

Сам сервер dev, вероятно, не является отличным инструментом для очистки; он однопоточный и (по крайней мере для python; реализация java может сильно отличаться) хранилище данных довольно ужасно при хранении больших объемов данных.

Однако, в зависимости от того, что вы копируете, рабочие серверы могут не подходить для этой задачи; если для ответа на запрос сайтов может потребоваться более 10 секунд, API-интерфейс urlfetch будет отключен. Если вы можете быть уверены, что это не будет проблемой, возможно, удобнее будет выполнить очистку в производственном режиме и записать ее непосредственно в хранилище данных.

Если нет, то может иметь смысл выполнить очистку с помощью отдельного инструмента, а затем поместить данные в производственное хранилище данных либо с помощью веб-службы RESTful, либо с помощью удаленного API.


РЕДАКТИРОВАТЬ: Производственные серверы теперь могут устанавливать 10-минутный тайм-аут для urlfetches, инициируемых заданиями задач или cron, поэтому эти возражения могут больше не применяться.

1 голос
/ 28 октября 2010

Я считаю, что пауки, работающие в производстве, часто истекают. Ваше решение использования сервера dev является хорошим, но также рассмотрите возможность реализации каждой выборки через очередь задач.

1 голос
/ 26 октября 2010

Посмотрите на этот вопрос , как настроить remore API для Java для использования загрузчика больших объемов данных Python.Вы также можете написать собственный загрузчик.

...