我正在使用resque和rufus调度程序。
我为两个不同的resque作业创建了两个不同的队列,并且能够执行这两个队列。
但我面临一个问题,因为两个队列每次都执行两次。
以下是 Scheduler.rb 文件:
目录:config / initializers / scheduler.rb
require 'rubygems'
require 'rufus/scheduler'
scheduler = Rufus::Scheduler.new
scheduler.cron '46 19 * * *' do
Resque::Job.create(:monitoring_queue, Monitoring)
end
scheduler.every '60m' do
Resque::Job.create(:execute_monitoring_queue, ExecuteMonitor)
end
以下是resque作业文件-1 monitoring.rb
class Monitoring
@queue = :monitoring_queue
def self.perform()
begin
Monitor.check_and_confirm
NotificationMailer.notification_email.deliver
rescue Exception => e
puts e.message
e.backtrace.join("\n")
end
end
end
这是resque作业文件-2 execute_monitor.rb
class ExecuteMonitor
@queue = :execute_monitoring_queue
def self.perform()
begin
Monitor.confirm_and_check
NotificationMailer.notification_email.deliver
rescue Exception => e
puts e.message
e.backtrace.join("\n")
end
end
end
请告诉我为什么这些队列每次都要执行两次,或者是否有我遗漏的东西。
请告诉我任何必要的事情。
答案 0 :(得分:0)
不是直接答案,但可以提供帮助:
https://stackoverflow.com/questions/tagged/rufus-scheduler ...
在rufus-scheduler文档中: