Я вставляю набор записей в Google App Engine. Я вставляю их в пакет, чтобы исключить исключения по крайним срокам.Коллизия транзакций для последовательной вставки в Google App Engine. Зачем?
Когда имеется большое количество записей (например 1k) Я всегда получаю неожиданное: столкновение
транзакции для группы сущностей с ключом
datastore_types.Key.from_path (u'GroupModel ', u'root', _app = u'streamtomail '). Повторная попытка ...
Такое положение случается всегда.
В локальной среде вместо этого он работает без проблем.
Как можно иметь транзакционные коллизии, если я использую последовательный процесс, и пока никто не использует систему?
Вот код, который я использую для пакетирования:
def deferred_worker():
if next_chunk():
process_chunk()
deferred.defer(deferred_worker)
где * process_chunk() * я 50 вставки в базе данных
Как вы вставляете 1000 объектов в пакет? Существует ограничение на 500 сущностей (http://code.google.com/appengine/docs/python/datastore/overview.html#Quotas_and_Limits). Отправьте некоторый код и сообщите нам, если вы делаете что-либо, используя отложенные или задачи. –
Можете ли вы разместить свой код? –