【发布时间】:2012-07-31 01:46:05
【问题描述】:
我在 aws 微型服务器上部署(使用 capistrano)一个 ruby on rails 项目。 我在 ruby 1.9.2-290 和 rails 3.2.6 上,我也使用 bundler。 我在我的 opt/rails-project/lib/tasks/tasks.rake 中开发了一个任务 rake
namespace :myclass do
task "my-task" => :environment do
# do the stuff which work nicely if i enter my command line manually
end
end
这就是我在 crontab 中的称呼:
*/3 * * * * cd /opt/rails-project/current && /opt/rails-project/shared/bundle/ruby/1.9.1/gems/rake-0.9.2.2/bin/rake myclass:my-task RAILS_ENV=production >> ~/logs-my-task.txt
文件 ~/logs-my-task.txt 每隔 3 分钟创建和更新一次。此文件仅包含 capistrano 的版本发布信息,但没有来自我的任务 rake。
正如我在任务 rake 的评论中所说,如果我通过 ssh 直接在服务器中启动此命令,我的任务 rake 就可以完成它的工作......
我整天/晚上都在网上搜索,但无法弄清楚。
我试图从 rails 中删除 http_basic auth 但同样的问题。
希望你有一个想法, 感谢您的帮助!
【问题讨论】:
标签: ruby-on-rails ruby debugging rake crontab