2012-07-07 3 views
1

Resque 및 ResqueScheduler를 사용하여 다시 발생하는 작업을 대기열에 넣습니다. 나는 레일 3.2.6, resque 1.21.0, resque-scheduler 2.0.0hResque Scheduler - NoMethodError "run_before_delayed_enqueue_hooks"

스케줄러가 시작될 때 다음과 같은 오류가 나타나고 스케줄 탭을 표시하는 데 문제가 발생한다.) :

레이크 resque : 스케줄러 --trace ** resque 호출 : resque 호출 ** scheduler_setup : resque 실행) scheduler_setup (first_time 을 ** : resque를 호출 ** 스케줄러 (first_time) 을 first_time (설치) ** 환경 호출 (첫 번째 시간) ** 실행 환경 ** 실행 리 캐스트 : 설정 ** 실행 resque : 스케줄러 2012-07-07 23:55:56로드 일정 2012-07-07 23:55:56 run_pinpro_copy 일정 2012-07-07 23:55:56 일정 취소 CancelAbandonedOrders 2012-07-07 23:55:56 ResqueScheduler :: 플러그인에 대한 정의되지 않은 메서드`run_before_delayed_enqueue_hooks ': 모듈

테스트 (run_database_copy) 2012-07-07 23시 56분 30초 NoMethodError을 대기 2012-07-07 23시 56분 30초로드 일정 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 

은 모든 예는/제안을 감상 할 수있다.

답변

1

내 Ruby 버전이 올바르지 않습니다. RVM을 사용하여 다른 버전을 관리하십시오 (강력히 권장 됨). 나는 루비 v1.9.3을 사용 했어야했다.