최근에 (루비) 작업 큐 시스템을 DelayedJob에서 Resque로 전환했습니다.Rails Resque worker가 mysql에서 실패 함 "연결이 너무 많음"
대기 시간이 줄어들고 데이터베이스 병목 현상이 제거되었지만 이제는 새로운 문제가 발생합니다. 한 명 이상의 직원이 데이터베이스 연결을 종료 할 때 열어 두는 것처럼 보입니다. 프로세스 목록을 보면 '수면'상태에있는 수백 개의 연결이 있습니다. 결국 90 초 후에 시간 초과됩니다. 우리는 클라이언트 연결이 끊어지지 않도록 직원을 억제했지만 실제로 을 찾으려면 mysql2 ruby 클라이언트를 사용하여 연결을 끊을 때 정중 한 작업을 수행하지 않아야합니다.
우리는 (1) 범인을 찾거나 (2) 우리 코드를 도구로 사용하여 작업이 종료되기 전에 실제로 연결을 끊을 수있는 아이디어가 있습니까?
- 레일
- Resque 1.25.2
- mysql2 보석 0.3.16
pg gem v0.18.4를 사용하여 Rails 4.2.6 응용 프로그램에서 같은 문제가 발생하는 것을 확인하십시오. – Ben