【问题标题】:job gets executed twice working with resque and rufus scheduler on development在开发中使用 resque 和 rufus 调度程序执行两次作业
【发布时间】:2014-12-29 15:38:38
【问题描述】:

我正在使用 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

谁能告诉我为什么这些队列每次都执行两次,或者我缺少什么。

有什么需要就告诉我。

【问题讨论】:

  • 你有两个进程运行这段代码吗?这将导致它排队两次。
  • 我第二个克里斯。指出您使用的服务器(Unicorn、Thin、Webrick、Puma 等)以及在何种模式下也会有所帮助。
  • 我正在使用 Apache 服务器

标签: ruby-on-rails ruby resque rufus-scheduler resque-scheduler


【解决方案1】:
猜你喜欢
  • 2018-03-19
  • 1970-01-01
  • 1970-01-01
  • 2011-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多