私は、竜巻非同期フレームワークで書かれたpythonアプリを持っています。 HTTPリクエストが到着すると、このメソッドが呼び出されます。データベースに竜巻リクエストをアトミックにする方法
@classmethod
def my_method(cls, my_arg1):
# Do some Database Transaction #1
x = get_val_from_db_table1(id=1, 'x')
y = get_val_from_db_table2(id=7, 'y')
x += x + (2 * y)
# Do some Database Transaction #2
set_val_in_db_table1(id=1, 'x', x)
return True
3つのデータベース操作は相互に関連しています。そして、これは同時アプリケーションです。そのようなHTTPコールが複数同時に発生し、同じDBに到達する可能性があります。
データの完全性のために、このメソッドの3つのデータベース操作は、別のプロセスがそれらの間のデータベース行を読み書きすることなく呼び出されることが重要です。
このメソッドにデータベースのアトミック性があることを確認するにはどうすればよいですか?竜巻にはこれのデコレータがありますか?