这可能是一个非常简单且不必要的问题,但我正在努力。
从 Rails 3 开始,世界似乎已经完成了 queued_mails 结构。我需要一个编写 rails 3 的 gem,它拦截 MyMailer 的传递方法,将邮件排队到 db 中,并要求我们运行 rake 以使所有邮件出列并发送。
它也很容易制作,但我不想付出努力,因为很难相信 Rails 3+ 没有。
建议?
这可能是一个非常简单且不必要的问题,但我正在努力。
从 Rails 3 开始,世界似乎已经完成了 queued_mails 结构。我需要一个编写 rails 3 的 gem,它拦截 MyMailer 的传递方法,将邮件排队到 db 中,并要求我们运行 rake 以使所有邮件出列并发送。
它也很容易制作,但我不想付出努力,因为很难相信 Rails 3+ 没有。
建议?
instead of using gem messages-queue
create simple mailer
pls check railscasts.com/episodes/171-delayed-job
script/plugin install git://github.com/collectiveidea/delayed_job.git
script/generate delayed_job
rake db:migrate
rake jobs:work
mailings_controller.rb
mailing = Mailing.find(mailing_id)
mailing.send_later(:deliver)
# or
Delayed::Job.enqueue(MailingJob.new(params[:id]), -3, 3.days.from_now)
lib/mailing_job.rb
class MailingJob < Struct.new(:mailing_id)
def perform
mailing = Mailing.find(mailing_id)
mailing.deliver
end
结尾