私はオンライン裁判官に取り組んでいます.私はpython 2.7とMysqlを使用しています(バックエンド部分に取り組んでいるため)
私の方法:
データベースから送信を引き出し(一度に10件)、それらをキューに入れるメインスレッドを作成します。次に、キューから送信を取得し、評価して結果をデータベースに書き戻す複数のスレッドがあります。
今、私はいくつかの疑問を持っています(それらはさまざまなトピックからの疑問であることは知っていますが、それらのいくつかへのアプローチも高く評価されています)。
- 現在、スレッドを開始するときに、スレッドが使用する独自のデータベース接続を提供します。これは、スレッドごとに 1 つの接続を提供することをお勧めします。スレッド間の接続の共有は問題を引き起こしますか?どうすればいいですか?
- 私のメインスレッドは単一の接続を使用します。その唯一の作業は、データベースから送信をプルしてキューに入れることです(また、データベースのステータスを送信を評価するように更新します)。しかし、時々エラーが発生します:
Lost connection to Mysql server
クエリ中に。プログラムを停止して再起動しても、引き続き発生します。どうすればよいですか? また、メインスレッドのみに接続のプールを実装する必要がありますか? - また、db接続は永久に存続しますか? セッションメモリなどが使い果たされた場合の対処方法は?