2013/11/08

[GoogleAppEngine][Python]cross-group (XG) transactionsについて

Google App Engine上でdb.run_in_transactionを使う時、一つのGroupでしかトランザクションを実行できないらしい。

複数グループを同時にトランザクションしたい場合は、cross-group (XG) transactionsというので実現するしかないようだ。

で、そのやり方だが、下のようにプログラムを組めば処理できるみたい。

xg_on = db.create_transaction_options(xg=True)
try:
 db.run_in_transaction_options(xg_on, func, args)
except:
キモは、xg_on = db.create_transaction_options()でxg=Trueをした上で、db.run_in_transaction_options()メソッドを使っているところ。

確かに、上のように組んだらできた。これ便利なので、今後も使っていこぉーっと。

参考URL
Cross Group (XG) Transactions and Further Explanation of use
Google App Engine:run_in_transaction_options (options, function, *args, **kwargs)

0 コメント:

コメントを投稿