Я пытаюсь использовать Delayed Job в своем приложении на Rails 3, но продолжаю сталкиваться с проблемой.Задания продолжают сбой с ошибкой: Job failed to load: uninitialized constant CrawlJob.
Я нашел пару других SO потоков и следовал советам там безрезультатно.Вот соответствующий код.
Application.rb
require File.expand_path('../boot', __FILE__)
require 'rails/all'
...
module Decurate
class Application < Rails::Application
...
config.autoload_paths += %W(#{config.root}/lib)
config.autoload_paths += Dir["#{config.root}/lib/**/"]
...
end
end
/ lib / crawl_job.rb
class CrawlJob < Struct.new(:merchant_id,:ec2,:s3)
def perform
...
end
end
/ lib / tasks / cron.rake
merchants = Store.all.collect{ |store| store[:merchant_id] }
merchants.each do |merchant_id|
queue.push merchant_id
end
merchants.each do |merchant_id|
Delayed::Job.enqueue CrawlJob.new(merchant_id,@ec2,@s3)
end