Google App Engine GQL, Как сделать нумерацию страниц с датой и временем с точностью до миллисекунды - PullRequest
0 голосов
/ 01 декабря 2010

Привет! У меня возникла проблема с запросом запросов GQL с точностью до секунды. Интересно, есть ли у кого-то похожие проблемы или обходные пути.

Суть проблемы заключается в том, что я загружаю пакеты многих объектов вGoogle Data Store сразу.Таким образом, тысячи объектов могут быть добавлены в течение одной секунды.

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

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

кажется, что одноядерное решение для ядра приложений не может обрабатывать второстепенные запросы, даже если я пытаюсь передать объекты типа datetime, которые имеют дроби.т.е. у меня есть следующий запрос, где я передаю объект datetime с долями секунды.как локально я использую Python 2.6.

test = GqlQuery ("выберите * из таблицы, где последний раз обновлен>: 1", минимальное время)

Если минимальное время составляет что-то вроде 10: 00: 00.0500набор результатов может по-прежнему содержать записи с lastUpdated в 10: 00: 00.0100, 10: 00: 00.0200 и т. д.

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

Спасибо, Нин

1 Ответ

2 голосов
/ 02 декабря 2010

Не разбивать на страницы DateTime;вместо этого используйте курсоры .

...