2016-09-09 4 views
0

からPG例外レール、sidekiq

メッセージ PG :: UnableToSendの問題を解決してください:サーバーが予期せず。これはおそらく、前または要求の処理中に異常終了したサーバーを意味し、接続を閉じました。 トレースバック 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 

我々は2台のアプリサーバ+ 1デシベルを持っています。私たちはプール25と労働者20、レール、サイドキック、PGを持っています。

サイドキックのバックグラウンドワーカーでのみ発生します。

+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 
関連する問題