2011-03-11 28 views
1

在我的日程表红宝石:只要在轨道上

every 10.minutes do 
    runner "Model.method" 
end 

每当我的crontab创造了这个

0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd /home/projects/Monitoring && script/rails runner -e development '\''Model.method'\''' 

我想在我的控制台运行的命令和它的作品。为什么它不能自动工作,我疯了!

在我的系统日志

Mar 11 11:38:01 UbuntuRails CRON[20050]: (ruben) CMD (/bin/bash -l -c 'cd /home/projects/Monitoring && script/rails runner -e development '\''Ping.check_pings'\''') 
Mar 11 11:38:01 UbuntuRails CRON[20048]: (CRON) info (No MTA installed, discarding output) 
Mar 11 11:38:01 UbuntuRails CRON[20047]: (CRON) error (grandchild #20050 failed with exit status 1) 
Mar 11 11:38:01 UbuntuRails CRON[20047]: (CRON) info (No MTA installed, discarding output) 
+0

你有cron的本地运行?您还可以在schedule.rb中添加'set:output,File.join(path,'log','cron.log')'来记录输出。 – jemminger

回答

3

我在Ubuntu 10.10和有同样的问题。
原来-l选项不加载预期的环境,但是-i一样。 (见this issue

由于这个问题线程状态,修复是编辑schedule.rb并添加:

set :job_template, "/bin/bash -i -c ':job'" 

干杯