【发布时间】:2016-09-09 06:49:49
【问题描述】:
请帮助解决问题
消息 PG::UnableToSend: 服务器意外关闭连接 这可能意味着服务器在处理请求之前或期间异常终止。 追溯 PG::UnableToSend:服务器意外关闭连接 这可能意味着服务器异常终止 在处理请求之前或期间。
示例代码:
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 个数据库。我们有 pool 25 和 worker 20,rails,sidekiq,pg。
它只发生在 sidekiq 后台工作人员身上。
感谢您的建议
【问题讨论】:
-
您好,欢迎来到 Stack Overflow。在这里,我们希望您将所有相关细节放入您的问题中。我们不想去异地寻找细节。我们还需要查看相关的sn-ps代码。这是一篇关于如何提问的文章(这样你可能会得到一个有用的答案):stackoverflow.com/help/how-to-ask
-
你使用的是launchy还是letter opener gem?
-
你的pg服务器的连接池大小是多少?
-
启动和开信刀 - 没有
-
您到底要问哪个池?来自database.yml?我们有游泳池:20
标签: ruby-on-rails sidekiq pg