時計仕掛けでカスタム コードを実行する方法を理解しようとしています。これは、lib/clock.rb
Heroku がその devcenter ドキュメントで使用するサンプル ファイルです。
require File.expand_path('../../config/boot', __FILE__)
require File.expand_path('../../config/environment', __FILE__)
require 'clockwork'
include Clockwork
every(4.minutes, 'Queueing interval job') { Delayed::Job.enqueue IntervalJob.new }
every(1.day, 'Queueing scheduled job', :at => '14:17') { Delayed::Job.enqueue ScheduledJob.new }
IntervalJob と ScheduledJob とは何ですか? これらのファイルはどこにあるはずですか? データベース レコードにアクセスできる独自のカスタム ジョブを実行したいと考えています。
編集
これは私の/lib/clock.rb
require 'clockwork'
require './config/boot'
require './config/environment'
module Clockwork
handler do |job|
puts "Running #{job}"
end
every(2.minutes, 'Filtering Streams') { Delayed::Job.enqueue FilterJob.new}
end
これは私の/lib/filter_job.rb
class FilterJob
def perform
@streams = Stream.all
@streams.each do |stream|
# manipulating stream properties
end
end
end
エラーが発生します:
uninitialized constant Clockwork::FilterJob (NameError)
/app/lib/clock.rb:11:in `block in <module:Clockwork>'