2017-03-15 27 views
3

たとえば、1時間ごとに再帰が必要なジョブがあります。ここに私のコードは次のとおりです。ActiveJob:サーバー起動時に自動的にジョブを開始する

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 

私の質問は:どのように私は上記のコードを呼び出すことができ満足して2つの条件である:自動的

  • 実行サーバーが開始されました。
  • 1回のみ実行します。たとえば、メッセージキューにsidekiqを使用します。ですから、次回はサーバーを再起動し、ジョブのインスタンスは1つしか使用できません。
+1

のcronプロジェクトのリストがありますhttp://stackoverflow.com/questions/10972450/running-code-after-rails-is-done-loading –

答えて

関連する問題