私のdjangoアプリは、djangoモデルをリモートデータベースに保存します。保存がバーストする場合があります。アプリケーションのメインスレッド(* thread_A *)を、複数のオブジェクトをデータベースに保存する時間から解放するために、* thread_B *を使用してモデルオブジェクトを別のスレッド(* thread_B *)に転送し、保存することを考えましたcollections.deque
。それらを順番に。
しかし、私はこの計画についてはよくわかりません。save()
新しいデータベースエントリのIDを返すため、データベースが応答した後、つまりトランザクションの最後にのみ「終了」します。
django.db.models.Model.save()
本当にGILをブロックし、トランザクション中に他のPythonスレッドを解放しますか?