sql >> データベース >  >> RDS >> Mysql

DjangoでMySQLサーバーの例外がなくなったのはなぜですか?

    私はあなたとまったく同じ問題を抱えていました。ウォッチドッグライブラリを使用して監視スクリプトを実装しましたが、「wait_timeout」が終了するまでに、MySQLエラーが発生していました。

    「django.db.close_old_connections()」関数を数回試しても機能しませんでしたが、定義された時間間隔ごとに古い接続を閉じようとしましたが、機能していませんでした。カスタム管理コマンド(dbと対話し、MySQLエラーでクラッシュするために使用されるコマンド)を呼び出す前にのみ実行するようにcloseコマンドを変更し、動作を開始しました。

    どうやらこのページ から 、これが発生する理由は、「close_old_connection」関数がHTTPリクエストシグナルにのみリンクされているため、特定のカスタムスクリプトでは起動されないためです。 Djangoのドキュメントにはそれが記載されておらず、私も正直に言って、あなたが理解していたのと同じ方法で物事を理解しました。

    したがって、dbと対話する前に、古い接続を閉じるための呼び出しを追加することができます。

    from django.db import close_old_connections
    close_old_connections()
    do_something_with_db()
    


    1. Wildfly10が起動時にMySQLXAドライバーをロードできない

    2. SQL Serverなしで.mdfデータベースにアクセスすることは可能ですか?

    3. Ruby on RailsでPostgreSQL関数を作成できますか?

    4. Java、MySQL:MySQLサーバーにJavaプログラムを埋め込む方法はありますか?