1

我可以使用新的 rails 4.2 功能通过 ActiveJob 发送电子邮件

class InvitationModel < ActiveRecord::Base
    def send_invitation
        MyMailer.send_the_email(param1).deliver_later
    end
end

默认队列(内联运行器?)是否支持指定的延迟,例如(伪代码)

MyMailer.send_the_email(param1).deliver_in(minutes: 5)

或者我需要另一个宝石吗?通过将 ActiveJob 与内联运行器一起使用,这封电子邮件的发送真的是异步的吗?

4

1 回答 1

2

不,内联运行器只是运行这项工作。为了能够异步运行作业,您需要使用队列后端。只有部分后端支持调度作业(延迟运行)。请参阅此表http://api.rubyonrails.org/classes/ActiveJob/QueueAdapters.html

于 2015-01-25T16:53:03.610 回答