2013-02-27 2 views
1

Я пытаюсь сгенерировать отчет в формате XML в Google App Engine (java-версия). Я обрабатываю несколько объектов, хранящихся в хранилище данных, и создаю фрагменты XML, представляющие упомянутые объекты, которые отправляются через потоки в blobstore. Проблема в том, что сгенерированный xml может быть огромным, поэтому я хотел бы сжать его, используя сжатие zip. Затем данные Xml можно уменьшить до менее чем одной десятой от исходного размера. Zip-файл прост, так как он содержит только один файл с исходными xml-данными.Создайте большой Zip-файл на Gae (в blobstore)

Я использую задачи, отправленные на задание, чтобы обработать данные и описанный рецепт here, чтобы создать zip-файл и поместить его в blobstore. Все работает отлично, если данные могут быть полностью обработаны в рамках выполнения одной задачи (около 10 минут). Я не знаю, как (или, если возможно) каким-то образом сохранить состояние zip-потока и продолжить писать zip-файл, в котором остановилась предыдущая задача.

ответ

1

Запустите свою задачу на бэкэнд. Тогда вы не будете ограничены предельным сроком в 10 минут. Ваша задача может также выполняться быстрее (если процессор был вашим узким местом).

+0

Если я не ошибаюсь, нет бесплатной квоты для бэкэндов, и мне придется заплатить за экземпляр бэкэнда немедленно. Я бы предпочел использовать свою ежедневную бесплатную квоту с заданиями, поэтому я не рассматриваю это как решение, если я не ошибаюсь в вопросе оплаты. – dexter

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