1

私は resque および rufus スケジューラーを使用しています。

2 つの異なる resque ジョブ用に 2 つの異なるキューを作成し、両方のキューを実行できました。

しかし、両方のキューが毎回 2 回実行されているため、 1 つの問題に直面しています。

これが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 ジョブ file-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 ジョブ file-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

これらのキューが毎回 2 回実行される理由を教えてください。

必要なことは何でも教えてください。

4

1 に答える 1