2

pythonanywhere.com で Web アプリをホストしていて、奇妙な問題が発生しています。30 分ごとに OperationalError: (2006, 'MySQL server has gone away') が発生します。ただし、wsgi.pyファイルを再保存すると、エラーは消えます。そして30分後にまた現れる…

メイン ページの読み込み中に、私のアプリは 1x1 テーブルの BOOL フィールドをチェックします (基本的に、サインアップがオープンかクローズか)。他の MySQL アクションは、別の小さなテーブルへの挿入のみですが、これらはいずれも問題に関連していないようです。

これを修正する方法についてのアイデアはありますか? 必要に応じて、より多くの情報を提供できます。よろしくお願いします。

編集

問題は、コードの特定の部分がいつ実行されるかを知ることであることが判明しました。ページが読み込まれるたびに、新しい接続が開かれると想定しました。そうではありませんでした。しかし、私は今それを修正しました。

4

1 に答える 1

4

通常、mysql ネットワーク接続がネットワーク ゲートウェイ/ルーターによって切断される可能性があるため、2 つのオプションがあります。1つは、すべてのクエリの前に常にmysql接続を構築することです(接続プールなどを使用しないでください)。2 つ目は、このエラーをキャッチしてから、接続を取得して db を再度クエリすることです。

于 2013-12-01T06:10:26.723 に答える