使用Sidekiq排队电子邮件时出错

时间:2017-01-02 22:49:45

标签: ruby-on-rails ruby-on-rails-4 sidekiq rails-activejob

使用 deliver_later 发送包含sidekiq作为队列的电子邮件时。我收到了这个错误:

  

ActiveJob :: DeserializationError:尝试反序列化时出错   参数:fe_sendauth:没有提供密码

在控制台中使用 deliver_now 发送完全相同的电子邮件时没有任何问题。

有什么想法?

2 个答案:

答案 0 :(得分:0)

需要 RACK_ENV 环境变量(除了RAILS_ENV)。

所以,生产:

export RACK_ENV=production

答案 1 :(得分:-1)

fe_sendauth: no password supplied是来自postgresql的auth错误。当您将作为参数接收的作业排入队列时,它将使用globalid序列化对象(例如" gid:// app / Person / 1"),当它尝试运行作业时,它将反序列化工作(基本上会做Person.find(1))。从运行工作服务器的服务器,无法使用给定的凭据连接到数据库。