2012-01-17 28 views
0

私は、ジョブキューとして、同時プロセス間で共有されている、mysqlテーブルに裏打ちされたモデルを使用したいと考えています。私は、2つのプロセスが同じジョブを実行する状況を避けようとしています。最初の考えは、プロセスがそのジョブを実行しているときにマークされている行(ジョブ)にダーティー・フラグを追加することです。しかし、ダーティビットをチェックすることは、ダーティビットを書き込むこととは別の動作であるという古典的な問題があります。 2つの操作をどのようにアトミックにすることができますか?Django MySql行ロック

理想的には、各行にはスピンロックがあり、これは行を更新するプロセスによってロックされ、行にアクセスするための他のプロセスを防止します。 Djangoはこのコンセプトをサポートしていますか?

答えて

1

QuerySet.select_for_update()は開発版です。安定したリリースでは、生のクエリを自分で使用する必要があります。

関連する問題