我有一个使用 Sidekiq 的 DelayMailer 异步发送邮件的 rails 应用程序。该应用程序部署在我们使用 PG 作为数据库的 heroku 上。EOF 错误(PG::Error: SSL SYSCALL error: EOF detected)出现在我的 ActionMailer 实现方法中(不是每次都出现)。当我尝试从 ActionMailer 方法访问数据库时,似乎出现了错误。
def new_message(user_id, message_id)
@user = User.find user_id # ERROR appears here when trying to access the DB
...
我不知道发生了什么。我已经用谷歌搜索了解决方案,我只找到了一些关于将 after_fork 和 before_fork 添加到我已经拥有的 unicorn.rb 的建议,我不确定这是否相关。