【发布时间】:2018-04-11 05:43:49
【问题描述】:
我计划在 Rails 4.2.5 中使用 ActionMailer#deliver_later 异步发送邮件。
AppMailer 文件使用“邮件”通过邮件发送,我正在使用 Deliver_later,如下所示:
AppMailer.project_created_support_mail(@project).deliver_later
但是,日志显示传递的参数仍然是 'deliver_now'
[ActiveJob] [ActionMailer::DeliveryJob] [b341ea8c-ca96-4a4e-8079-572925864352] Performing ActionMailer::DeliveryJob from Inline(mailers) with arguments: "AppMailer", "project_created_support_mail", "deliver_now"
我假设没有明确需要附加像 Sidekiq 或 Resque 这样的队列。
有人可以帮助了解我在这里缺少什么吗?
编辑:我面临的最初问题是发送邮件的操作需要大约 5 秒,无论有无deliver_later。在尝试调试问题时,我发现参数仍然是“deliver_now”(上面的日志)。正如下面@torrocus 所指出的,'deliver_now' 在队列中被调用。但是,deliver_later 需要约 5 秒的问题仍然存在。
【问题讨论】:
-
如果是在生产或类似的,你是否重启了服务器?
-
尝试重启你的服务器。
-
我目前正在开发中试用它。问题是使用或不使用deliver_later 都需要大约5 秒的时间来传递邮件
标签: ruby-on-rails ruby-on-rails-4 actionmailer rails-activejob