Ruby에서 스크립트가 실행 된 후 일정 시간이 지나면 'mysql has been away away'오류가 발생합니다.Ruby mysql gem의 'reconnect'객체 변수
연결이 끊어지면 자동으로 다시 연결하도록 mysql gem에 알려 주려고합니다.
나의 현재 코드처럼 보이는 다음
def self.connect()
begin
if [email protected]@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의 보석은 '재 연결'개체 변수를 가지고 있다고 말한다 다음 가이드 그러나, 나는 내에서 그것을 사용하는 방법이 확실하지 오전 내 암호.
위의 코드에이 옵션을 어떻게 구현합니까? 사전에
감사합니다, 라이언
[0] http://www.tmtm.org/en/mysql/ruby/
편집 --- OK
. 나는 그것을 알아 냈다고 생각한다.
@@dbh = Mysql.real_connect(@@server, @@user, @@pass, @@db)
줄 뒤에 @@dbh.reconnect = true
을 추가해야합니다.
참고 : IRC의 'nice'chapy에 따르면 mysql 젬은 사용할 최상의 Ruby 젬이 아닐 수 있습니다.
'@@'클래스 변수에 너무 의존하는 특별한 이유가 있습니까? 이것은 스택 오버 플로우 구문 형광펜이 무엇을 만들지 알지 못하는 점에서 비 통상적입니다. – tadman
나는 그 추론이 무엇인지 잘 모르겠습니다. 데이터베이스 클래스는 다른 사람이 작성했습니다. 내가 바꿀 수 있는지 알게 될거야. 조언 해주셔서 감사합니다! – ethicalhack3r