2013-05-23 2 views
2

레일없이 :resque - 스케줄러 내가 실행에 다음 코드 노력하고

# Resque tasks 
require 'resque/tasks' 
require 'resque_scheduler/tasks' 
namespace :resque do 
task :setup do 
    require 'resque' 
    require 'resque_scheduler' 
    require 'resque/scheduler' 

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

    Resque.schedule = {} 

    require_relative 'app' 
end 
end 

그리고 app.rb

require 'resque' 
require 'resque_scheduler' 
require 'resque/scheduler' 

Resque.enqueue_in(5.days, SendFollowUpEmail, 'id') 

을하지만 정의되지 않은 메서드`일 '5 점점 오전 : Fixnum이라는

레일이없는 예를 찾을 수 없습니다.

답변

1

타임 스탬프 계산 구문은 active_support 패키지 중 하나에 의해 제공됩니다.

이 종속성을 원하지 않으면 enqueue_in의 첫 번째 매개 변수는 수동으로 계산할 수있는 시간 (초)입니다. 예를 들어 : 당신은 여전히 ​​멋진 타임 스탬프 계산 구문을 사용하려면

MINUTES=60 
HOURS=60*MINUTES 
DAYS=24*HOURS 

Resque.enqueue_in(5*DAYS, SendFollowUpEmail, 'id') 

는, 당신은 active_support를 설치해야합니다. 레일을 설치하지 않고도이 작업을 수행 할 수 있습니다.

$ gem install active_support 
$ irb 
irb(main):001:0> require 'active_support/time' 
=> true 
irb(main):002:0> print 5.days 
432000=> nil 

루비 2-0-0을 사용한 예제입니다.