Running Rails 4.2.0, поэтому я использую ActiveJob w/Sidekiq. Мне нужно вызывать регулярно запланированные фоновые задания, поэтому я надеюсь использовать Clockwork, но я не видел примеров того, как использовать его с ActiveJob.Clockwork to queue ActiveJob background jobs
Вот мой Lib/clock.rb построена на примере Заводной GitHub:
require 'activejob'
module Clockwork
handler do |job, time|
puts "Running #{job}, at #{time}"
ProductUpdateJob.perform_later
end
every(30.seconds, 'ProductUpdateJob.perform_later')
end
Update:
я смог его работать на моей ситуации, но я не совсем удовлетворены решением, так как мне приходится загружать всю среду. Я бы просто хотел, чтобы минимальный минимум запускал ActiveJob.
Dir["./jobs/*.rb"].each {|file| require file }
require 'clockwork'
require './config/boot'
require './config/environment'
#require 'active_job'
#require 'active_support'
module Clockwork
handler do |job, time|
puts "Running #{job}, at #{time}"
#send("#{job}")
#puts "#{job}".constantize
"#{job}".constantize.perform_later
end
every(10.seconds, 'ProductUpdateJob')
end