Как большой действительно ли appengine может определить задачу для полезной нагрузки быть?

Я использую новый экспериментальный taskqueue для Java appengine, и я пытаюсь создать задачи что совокупная статистика в моем хранилище данных. Я пытаюсь считать количество УНИКАЛЬНЫХ значений во всем entitities (определенного типа) в моем хранилище данных. Более конкретно скажите, что объект типа X имеет поле A. Я хочу считать КОЛИЧЕСТВО уникальных значений в моем хранилище данных.

Мой текущий подход должен создать задачу, которая запрашивает для первых 10 объектов типа X, создавая хеш-таблицу для хранения уникальных значений в, затем передавая эту хеш-таблицу следующей задаче как полезная нагрузка. Эта следующая задача будет считать следующие 10 объектов и т. д. и т. п., пока я не прошел все объекты. Во время выполнения последней задачи я буду считать количество ключей в моей хеш-таблице (это было передано от задачи до задачи все время) найти общее количество уникальных значений A.

Это работает на небольшое количество объектов в моем хранилище данных. Но я волнуюсь, что эта хеш-таблица станет слишком большой, после того как у меня есть много уникальных значений. Каков максимальный допустимый размер для полезной нагрузки appengine задачи?????

Можно ли предложить какие-либо альтернативные подходы?

Спасибо.

8
задан aloo 22 December 2009 в 03:02
поделиться

2 ответа

14
ответ дан 5 December 2019 в 11:25
поделиться

"Можете ли вы предложить какой-либо альтернативный подход? "...128]Создайте сущность для каждого уникального значения, построив ключ на основе значения и используя Model.get_or_insert. Затем Query.count вверх по сущностям в партиях по 1000 (или сколько их можно посчитать до истечения времени запроса - более 10), используя обычные трюки пейджинга.

Или используйте код, аналогичный приведенному в документации для get_or_insert, чтобы держать подсчет по ходу - транзакции App Engine могут быть запущены более одного раза, поэтому memcached count инкрементированный в транзакции будет ненадежным. Однако, в этом может быть какой-то трюк, или вы можете сохранить счет в хранилище данных, при условии, что вы не делаете ничего слишком неприятного с родителями сущностей.

.
1
ответ дан 5 December 2019 в 11:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: