每当铁轨上的红宝石

时间:2011-03-11 10:37:06

标签: ruby-on-rails ubuntu cron crontab whenever

在我的日程安排中:

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

每当在我的crontabs中创建它时

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)

1 个答案:

答案 0 :(得分:3)

我在Ubuntu 10.10上遇到了同样的问题 事实证明-l选项不会按预期加载环境,但-i会加载环境。 (见this issue

正如问题主题所述,修复方法是编辑schedule.rb并添加:

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

干杯