【问题标题】:Rails ActiveJob/Sidekiq sending emails inconsistently; sometimes sends, sometimes doesn'tRails ActiveJob/Sidekiq 发送电子邮件不一致;有时发送有时不发送
【发布时间】:2016-09-04 19:20:46
【问题描述】:

我有一个 Rails 4.2 应用程序,它使用 ActiveJob/ActionMailer 和 Sidekiq/Redis 和 Devise 进行身份验证。我在注册时需要电子邮件确认,这由 Devise 处理。我在用户注册时遇到问题,但有时不会发送确认电子邮件。

日志显示确认电子邮件已被 ActiveJob 排队,有时它会被处理,有时它不会。当确认邮件未被处理,而用户再次请求时,新的确认邮件将通过。

关于为什么会发生这种情况的任何想法?

另外,我没有迭代任何用户,我使用的是标准的 Devise 注册流程。 So this doesn't apply.

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 email devise


    【解决方案1】:

    我想我知道电子邮件不一致的原因。我有两个使用同一个 redis 服务器实例的独立登台环境。为了便于解释,我将它们称为 staging1 和 staging2。

    我相信发生的情况是,当在 staging2 上创建用户 (ID=1) 时,有时 staging1 会为自己的用户 (ID=1) 处理电子邮件,因此来自 staging2 的用户不会收到电子邮件,而是电子邮件从 staging1 发送给用户。

    要解决此问题,可以做以下两件事之一。

    1. 为每个环境使用单独的 redis 服务器。
    2. 为每个环境使用 redis 命名空间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 2011-09-16
      • 2016-07-07
      相关资源
      最近更新 更多