2015-06-23 3 views
0

У меня есть длинная задача для запуска под моим приложением App Engine с большим количеством хранилища данных для вычисления. Он работал хорошо с небольшим количеством данных, но со вчерашнего дня я неожиданно получаю более миллиона записей хранилища данных для вычисления в день. Через некоторое время после выполнения задачи (около 2 минут) он не работает с кодом выхода 202 (ошибка HTTP 500). Я действительно не могу справиться с этой проблемой. Это почти недокументировано. Единственная информация, которую я смог найти, это то, что это, вероятно, означает, что у моего приложения заканчивается память.Достижение предела памяти, запускающего задачу

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

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

Edit: Я прочитал объективизацию ДОКУМЕНТАЦИИ тщательно сегодня, и я обнаружил, что the session cache (что обеспечивает лицо референцию консистенции) может потреблять много памяти и должен быть очищен регулярно, выполняя много запросов (это мой случай). К сожалению, это не помогло.

ответ

0

Возможно, вы останетесь в пределах бесплатной квоты, но для этого потребуется немного дополнительной работы.

В вашем случае вы должны разделить эту операцию на более мелкие партии (ej обрабатывать 1000 объектов на каждую партию) и ставить в очередь эти меньшие задачи для последовательного запуска в нерабочее время. Это должно избавить вас от проблемы с памятью и позволить вам масштабировать свою текущую сумму.

+0

Спасибо! Как бы Вы это сделали ? Сохраняете ли вы последний вычисленный идентификатор объекта в хранилище данных и начинаете с него снова при следующей задаче? Это хорошая идея ? С 1000 объектов на пакет, мне нужно будет выполнить свою задачу ~ 1000 раз в день для завершения. – user1527491

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