Я только что прочитал это большое резюме GAE лучших практик: https://cloud.google.com/datastore/docs/best-practicesGAE: Как отменить транзакцию?
Один из них:
Если сделка не удается, убедитесь, что вы попробуйте откатить транзакцию. Откат минимизирует задержку повторной попытки для другого запроса , борясь за тот же ресурс (ы) в транзакции. Обратите внимание, что сам откат может потерпеть неудачу, поэтому откат должен быть выполнен только с максимальным усилием .
Я думал, что откат транзакций был чем-то, что GAE сделал для вас, но приведенная выше цитата говорит, что вы должны сделать это сами.
В документации here также говорится, что вы должны сделать откат, но не знаете, как это сделать.
Итак, как мне отменить транзакцию в GAE Python?
Примечание в цитируемом тексте: «Откат ** минимизирует задержку повторной попытки», - что ИМХО означает просто, что если вы попытаетесь выполнить откат самостоятельно, это может произойти быстрее. Если GAE в конечном итоге не сделает это за вас, но это может занять больше времени, замедляя другие конкурирующие транзакции. –