clockworkで定期処理を実装したのですが、定期処理を開始すると下記のエラーが出ます。
cronで回していた時は同じコードでもエラーは出ませんでした。
I, [2015-05-19T16:10:11.003250 #15901] INFO -- : Triggering '10.second.job'
item.rb:1:in `<main>': uninitialized constant Rails (NameError)
どうすればエラーがでないようになるでしょうか
ちなみに定期処理は正しく動いていません
※cronであればエラーはでずに正しく定期処理が開始されます。
lib/tasks/item.rb
require "#{Rails.root}/app/models/item"
class Tasks::Item
def self.item_check
#処理
end
end
config/clock.rb
require 'clockwork'
include Clockwork
every(10.second, '10.second.job') do
Dir.chdir("../lib/tasks"){ puts `ruby item.rb` }
end
cron時の設定 config/schedule.rb gem 'whenever'を使用
set :environment, :development
set :output, {:error => 'log/error.log', :standard => 'log/cron.log'}
every 1.minute do
runner "Tasks::Item.item_check"
end