我正在尝试运行以下代码:
# 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')
但我得到了 undefined方法`days'为5:Fixnum
我找不到没有导轨的例子,任何想法?
答案 0 :(得分:1)
时间戳计算语法由其中一个active_support包提供。
如果您不想要这种依赖关系,enqueue_in的第一个参数是您可以手动计算的秒数。例如:
MINUTES=60
HOURS=60*MINUTES
DAYS=24*HOURS
Resque.enqueue_in(5*DAYS, SendFollowUpEmail, 'id')
如果您仍想使用花哨的时间戳计算语法,则需要安装active_support。您仍然可以在不必安装Rails的情况下执行此操作:
$ 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完成的例子。