スクリプトを実行してから一定時間が経過すると、Ruby で「mysql has gone away」エラーが発生します。
接続が失われたときに自動再接続するように mysql gem に指示したいと思います。
私の現在のコードは次のようになります。
def self.connect()
begin
if !@@dbh.nil?
self.disconnect
end
@@dbh = Mysql.real_connect(@@server, @@user, @@pass, @@db)
puts "[+] Connected to the " + @@db + " database with user '" + @@user + "'"
rescue Mysql::Error => e
# log error
end
end
次のガイド [0] では、mysql gem には「reconnect」オブジェクト変数があると書かれていますが、コード内でそれを使用する方法がわかりません。
このオプションを上記のコードに実装するにはどうすればよいですか?
前もって感謝します、ライアン
[0] http://www.tmtm.org/en/mysql/ruby/
編集 - -
わかった。私はそれを理解したと思います。
@@dbh.reconnect = true
行の後に追加する必要があり@@dbh = Mysql.real_connect(@@server, @@user, @@pass, @@db)
ます。
注: IRC の 'nice' chapy によると、mysql gem は使用するのに最適な Ruby gem ではない可能性があります。