ActiveJob:启动服务器时自动启动作业

时间:2017-03-15 18:38:09

标签: ruby-on-rails sidekiq rails-activejob

例如,我有一份工作要求每1小时重复一次。这是我的代码:

class NewsletterJob < ApplicationJob
  queue_as :default

  after_perform do |job|
     NewsletterJob.set(wait: 1.hour).perform_later user
  end

  def perform(*args)
    puts "I am busy mailing newsletter."
  end
end

我的问题是:如何调用满足以下条件的代码:

  • 在服务器启动时自动运行。
  • 只运行一次。例如,我使用sidekiq作为消息队列。所以我希望下次重启服务器时,只有一个作业实例可用。

1 个答案:

答案 0 :(得分:0)