1

对于http://github.com/collectiveidea/delayed_job

假设我刚开始一个全新的 Rails 项目,并希望每 1 分钟运行一次:

puts "Time is now #{Time.now}"

我如何将它添加到项目中?

自述文件说:

class NewsletterJob < Struct.new(:text, :emails)
  def perform
    emails.each { |e| NewsletterMailer.deliver_text_to_email(text, e) }
  end    
end  

Delayed::Job.enqueue NewsletterJob.new('lorem ipsum...', Customers.find(:all).collect(&:email))

但是你应该把这些内容放在哪里?您是否运行一次以入队?你如何设置开始时间和频率?

4

1 回答 1

1

delay_job 是后台任务的 gem。为此,您需要一个调度工具。我推荐http://github.com/javan/whenever

http://www.ruby-toolbox.com/categories/scheduling.html

于 2010-10-30T21:07:05.343 回答