Я использую GAE Python 2.7 Standard с хранилищем данных.
Проблема в том, что хранилище данных слишком часто вызывает коллизии транзакций.
Я написал простой тестовый код. (Я знаю, что такого кода не существует. Это всего лишь тестовый код.)
Я просто обновляю одну сущность в транзакции несколько раз.
Я не думаю, что что-либо может столкнуться, поскольку Я просто обновляю тот же объект расписания.
Но, глядя на ведение журнала, "Коллизия транзакции. Повторная попытка ..." происходит несколько раз.
По какой причине хранилище данных вызывает коллизию транзакции ?
from google.appengine.ext import db
# get any entity
schedule = Schedule.get('entity_key')
def _txn(schedule):
schedule.save()
schedule.save()
schedule.save()
schedule.save()
xg_on = db.create_transaction_options(xg=True)
for i in range(0, 100):
logging.info(i)
db.run_in_transaction_options(xg_on,
_txn,
schedule)