我在我的 Rails 控制台中这样做:
job = scheduler.at 1.minute.from_now do Service.log.debug 'scheduler works' end
job.schedule_info
=> Wed, 07 Aug 2013 16:14:46 UTC 00:00
scheduler
在其他文件中定义:
require 'rubygems'
require 'rufus/scheduler'
def scheduler
@scheduler ||= Rufus::Scheduler.start_new
end
当我在控制台中运行时:
Service.log.debug 'scheduler works'
写入服务日志文件。
问题
scheduler.at 1.minute.from_now do Service.log.debug 'scheduler works' end
一分钟后不写入日志。我错过了什么?我怎么能调试这个?
实际问题
我在 EC2 中有一台似乎已关闭且计划任务未运行的服务器。
问题是,在我的开发环境中,我测试了一个在一分钟内运行的任务并且它可以工作。这是在服务器中而不是在控制台中。正如我提到的,在控制台中失败了。
开发环境
ruby 1.9.3p327(2012-11-10 修订版 37606)[x86_64-darwin12.0.0]
瘦 1.5.0
远程环境
ruby 1.9.3p429(2013-05-15 修订版 40747)[x86_64-linux]
阿帕奇2 2.2.22
乘客 4.0.5
宝石
导轨 3.2.8
rufus 调度程序 2.0.18