2017-08-06 14 views

答えて

1

遅延ジョブは、主にキューおよびバックグラウンドでタスクを処理するために使用されます。通常、タスクのスケジューリングには好まれません。

あなたの場合は、wheneverをチェックしてください。これはcronジョブで動作するruby gemで、繰り返しタスクをスケジュールします。

ロジックまたはメソッドの呼び出しLdapSyncJob.perform()をレーキタスクに移動することをお勧めします。設定/ schedule.rbで

、あなたはこのよう

ENV['RAILS_ENV'] = "#{@pre_set_variables[:environment]}" 

env :PATH, ENV['PATH'] 

require File.expand_path(File.dirname(__FILE__) + "/environment") 

set :output, "/logs/cron_log_#{ENV['RAILS_ENV']}.log" 

every 1.day, :at => '02:30 am' do 
    command "cd #{Rails.root}/lib/tasks && rake task_calls_peform_code" 
end 

注何かを行うことができます:更新するとコマンド属し使用してのcrontabを再起動することを忘れないでください。

whenever --update-crontab app --set 'environment=production' #update crontab 
service crond restart #restart crontab 
+1

あなたは私のschedule.rbにこのようないくつかのことを意味する((すべての1.hoursが LdapSyncJob.perform()終了を)やる)しかし、それは動作しませんでした。 –

+0

私は答えを更新しました、それがあなたを助けてくれることを願っています。 –

+1

これはうまく動作しますが、私はより簡単だったクロノ宝石を使用しました –

関連する問題