ome*_*cat 5 ruby-on-rails clockwork rails-activejob
运行 Rails 4.2.0,因此我使用 ActiveJob w/ Sidekiq 后端。我需要调用定期安排的后台作业,因此我希望使用 Clockwork,但我还没有看到任何有关如何将其与 ActiveJob 一起使用的示例。
这是我的 lib/clock.rb,基于 Clockwork 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
Run Code Online (Sandbox Code Playgroud)
更新:
我能够让它适合我的情况,但我对这个解决方案并不完全满意,因为我必须加载整个环境。我只想运行 ActiveJobs 所需的最低限度。
require 'activejob'
module Clockwork
handler do |job, time|
puts "Running #{job}, at #{time}"
ProductUpdateJob.perform_later
end
every(30.seconds, 'ProductUpdateJob.perform_later')
end
Run Code Online (Sandbox Code Playgroud)
这是一个工作版本
require 'clockwork'
require './config/boot'
require './config/environment'
module Clockwork
handler do |job, time|
puts "Running #{job}, at #{time}"
"#{job}".constantize.perform_async
end
every(10.seconds, 'ProductUpdateJob')
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1417 次 |
| 最近记录: |