gpt4 book ai didi

ruby-on-rails - 发条来排队 ActiveJob 后台作业

转载 作者:行者123 更新时间:2023-12-04 05:55:50 24 4
gpt4 key购买 nike

运行 Rails 4.2.0,所以我使用 ActiveJob 和 Sidekiq 后端。我需要调用定期安排的后台作业,所以我希望使用 Clockwork,但我还没有看到如何将它与 ActiveJob 一起使用的任何示例。

这是基于 Clockwork Github 示例的我的 lib/clock.rb:

require 'activejob'
module Clockwork
handler do |job, time|
puts "Running #{job}, at #{time}"
ProductUpdateJob.perform_later
end

every(30.seconds, 'ProductUpdateJob.perform_later')

end

更新:

我能够让它适合我的情况,但我对解决方案并不完全满意,因为我必须加载整个环境。我只想要求最低限度来运行 ActiveJobs。

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

最佳答案

这是一个工作版本

require 'clockwork'
require './config/boot'
require './config/environment'

module Clockwork
handler do |job, time|
puts "Running #{job}, at #{time}"
"#{job}".constantize.perform_later
end

every(10.seconds, 'ProductUpdateJob')

end

关于ruby-on-rails - 发条来排队 ActiveJob 后台作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28016149/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com