2013-03-20 4 views
0

이것은 매우 간단하고 불필요한 질문 일지 모르지만 나는 고심하고 있습니다.db 기반 대기열 메일 레일 3

레일 3 이후로 세상은 queued_mails 구조로 처리 된 것 같습니다. 나는 레일 3을 써서 MyMailer의 전달 방법을 차단하고, 메일을 db에 큐잉하고, 레이크를 실행하여 모든 메일을 큐에서 제거하도록 요청하는 보석이 필요합니다.

그것도 쉽게 만들 수 있지만, 난 힘들게 거기에 아무 것도 없다고 생각하기 때문에 노력을 끝내고 싶지 않습니다. 3+.

제안 사항?

답변

0
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