1

Resque と ResqueScheduler を使用して、繰り返し発生するジョブをキューに入れます。私はレール 3.2.6、resque 1.21.0、resque-scheduler 2.0.0h を使用しています。

スケジューラーが開始されると、次のエラーが表示され、スケジュールタブを表示するのにも問題があります (ドコをたどった後):

rake resque:scheduler --trace ** resque:scheduler を呼び出します (first_time) ** resque:scheduler_setup を呼び出します (first_time) ** resque:scheduler_setup を実行します ** resque:setup を呼び出します (first_time) ** 環境を呼び出します (first_time) ** 実行します環境 ** resque:setup を実行 ** resque:scheduler を実行 2012-07-07 23:55:56 スケジュールをロード中 2012-07-07 23:55:56 -07-07 23:55:56 ロードされたスケジュール 2012-07-07 23:56:30 キュー テスト (run_database_copy) 2012-07-07 23:56:30 NoMethodError: ResqueScheduler::Plugin:Module の未定義のメソッド「run_before_delayed_enqueue_hooks」

resque_scheduler.yml

CancelAbandonedOrders:
  cron: "*/5 * * * *"

run_database_copy:
  cron: "30 * * * * *"
  class: Testing
  queue: testing_queue
  args:
  description: "Copy PinPro views to local tables"

testing.rb (ワーカー)

class Testing
  @queue = :testing_queue
  def self.perform
    puts "Running Job!"
  end
end

resque.rb

require 'resque_scheduler'

Resque.schedule = YAML.load_file(File.join(Rails.root, 'config/resque_scheduler.yml'))

resque_scheduler.rake

# Resque tasks
require 'resque/tasks'
require 'resque_scheduler/tasks'
require 'resque_scheduler/server'

task "resque:setup" => :environment

namespace :resque do
  task :setup do
    require 'resque'
    require 'resque_scheduler'
    require 'resque/scheduler'
    require 'resque_scheduler/server'

    # you probably already have this somewhere
    Resque.redis = 'localhost:6379'
  end
end

例/提案をいただければ幸いです。

4

1 に答える 1

1

Turns out my Ruby Version was not correct. Using RVM now to manage different versions(highly recommended). I should have been using ruby v1.9.3

于 2012-07-08T01:00:29.263 に答える