43 lines
1.5 KiB
Ruby
43 lines
1.5 KiB
Ruby
# Resque tasks
|
|
require 'resque/tasks'
|
|
require 'resque/scheduler/tasks'
|
|
require 'resque'
|
|
require 'resque-scheduler'
|
|
|
|
task :scheduler => :environment do
|
|
|
|
# If you want to be able to dynamically change the schedule,
|
|
# uncomment this line. A dynamic schedule can be updated via the
|
|
# Resque::Scheduler.set_schedule (and remove_schedule) methods.
|
|
# When dynamic is set to true, the scheduler process looks for
|
|
# schedule changes and applies them on the fly.
|
|
# Note: This feature is only available in >=2.0.0.
|
|
#Resque::Scheduler.dynamic = true
|
|
|
|
# The schedule doesn't need to be stored in a YAML, it just needs to
|
|
# be a hash. YAML is usually the easiest.
|
|
config = YAML.load_file(File.join(File.dirname(__FILE__), '../..', 'config/scheduler.yml'))
|
|
|
|
if File.exist? File.join(File.dirname(__FILE__), '../..', 'config/scheduler_override.yml')
|
|
puts "scheduler_override file found. loading..."
|
|
override = YAML.load_file(File.join(File.dirname(__FILE__), '../..', 'config/scheduler_override.yml'))
|
|
if override # override will be false if file is empty
|
|
config.merge!(override)
|
|
else
|
|
puts "schedule_override is empty... skipping..."
|
|
end
|
|
|
|
end
|
|
|
|
Resque.schedule = config
|
|
|
|
# If your schedule already has +queue+ set for each job, you don't
|
|
# need to require your jobs. This can be an advantage since it's
|
|
# less code that resque-scheduler needs to know about. But in a small
|
|
# project, it's usually easier to just include you job classes here.
|
|
# So, something like this:
|
|
#require 'jobs'
|
|
|
|
Rake::Task['resque:scheduler'].invoke
|
|
end
|