如何重新启动App Engine事务?

时间:2014-05-02 05:19:44

标签: python google-app-engine transactions

我一直在阅读有关交易https://developers.google.com/appengine/docs/python/datastore/transactions的文档,而且这条线很突出

  

当交易失败时,您可以让您的应用重试该交易,直至成功为止,或者您可以让用户通过将其传播到您应用的用户界面级别来处理错误。您不必围绕每个事务创建重试循环。

现在我使用@db.transactional创建了我的事务,但我不知道如何显式重试它。我猜测另一个事务正在更新实体,而第二个事务调用正在放弃(可能是错误的)。

如何重试我的交易?

self.my_txn(key,0)   

@db.transactional()
def my_txn(self,key,value):
   ent = db.get(key)
   ent.value = value

1 个答案:

答案 0 :(得分:4)

您可以为装饰器指定retries parameter

@db.transactional(retries=5)
def my_txn...