2016-09-09 3 views
0

에서 페이지 예외는 PG가 :: UnableToSend이레일, sidekiq

메시지 과 해결 문제를 도와주세요. Traceback PG :: UnableToSend : 서버가 연결을 예기치 않게 종료했습니다. 이것은 요청을 처리하기 전이나 처리하는 동안 서버가 비정상적으로 종료되었음을 나타냅니다.

전체 로그 : https://gist.githubusercontent.com/igorkasyanchuk/cc96dba31b0b0f83b77faadf077433e8/raw/70af94105b0a7649b6ad0dde086ac539902d1d3f/gistfile1.txt

샘플 코드 :

class RedZoneCrossedWorker < Worker 
    def perform(event_id) 
    Chewy.strategy(:atomic) do 
     puts "#{self.class.name} Performing: #{event_id} #{jid}" 
     event = RedZoneCrossedShipmentEvent.find_by(id: event_id) 
     shipment = event.try(:shipment) 
     if shipment 
     # generate driver/oo payments 
     shipment.generate_red_zone_payments 
     # send mails and notifications if red zone crossed successfully 
     notifier = event.successfully_completed? ? 'ShipmentNotifiers::ShipmentRedZoneSuccessNotifier' : 'ShipmentNotifiers::ShipmentRedZoneViolationsNotifier' 
     ShipmentNotificationWorker.new.perform(event.shipment_id, notifier) 
     end 
    end 
    end 
end 

우리가이 개 애플리케이션 서버 + 1dB 있습니다. 우리는 수영장 25와 노동자 20, 가로장, sidekiq, pg가있다.

sidekiq 배경 작업자와 만 발생합니다.

+0

안녕과 스택 오버플로에 오신 것을 환영합니다. 여기서 모든 관련 세부 사항을 귀하의 질문에 넣으시기 바랍니다. 우리는 세부 사항을 위해 오프 사이트를보고 싶지 않습니다. 또한 관련 코드 스 니펫을 볼 필요가 있습니다. 여기에 질문을하는 방법에 대한 기사가 있습니다 (예 : 유용한 답변을 얻을 가능성이 있음) : http://stackoverflow.com/help/how-to-ask –

+0

발기인 또는 편지 오프너 보석을 사용하고 있습니까? –

+0

pg 서버의 연결 풀 크기는 얼마입니까? – mrzasa

답변

0

이 문제 같은데 조언에 대한

감사를 사용하여 해결되었다 :

production: 
    .... 
    pool: 20 
    variables: 
    tcp_keepalives_idle: 60 
    tcp_keepalives_interval: 60 
    tcp_keepalives_count: 100