запустить грабли из crontab - PullRequest
       0

запустить грабли из crontab

3 голосов
/ 06 октября 2010

Я использую Ubuntu, я пытаюсь запустить мою задачу rake из cron. Моя задача rake:

namespase :import do
   task :import_twitter => :environment do
      puts "Twitter importing...." 
   end
end

файл schedule.rb

every 1.minutes do
  rake "import:import_twitter", :output => {:error => 'error.log', :standard => 'cron.log'}
end

при каждом создании задачи crontab

 # Begin Whenever generated tasks for: /home/administrator/www/my_application/config/schedule.rb
    PATH=/usr/local/rvm/gems/ruby-1.9.2-p0/bin:/bin:/usr/local/rvm/rubies/ruby-1.9.2-p0/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

    * * * * * cd /home/administrator/www/my_application && RAILS_ENV=production /usr/bin/env rake import:import_twitter >> cron.log 2>> error.log


# End Whenever generated tasks for: /home/administrator/www/my_application/config/schedule.rb

В файле crontab error.log у меня есть

/usr/local/rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:340:in `bin_path': can't find executable rake for rake-0.8.7 (Gem::Exception)
    from /usr/local/rvm/gems/ruby-1.9.2-p0/bin/rake:19:in `<main>'

Но когда я запускаю эту задачу из консоли, она работает

path_to_my_project >rake  import:import_twitter

Что не так?

1 Ответ

4 голосов
/ 06 октября 2010

У меня та же проблема с rvm и всякий раз. Если я хочу, чтобы это работало, я определяю HOME VARIABLE и комментирую переменную PATH, и это работает.

Я думаю, что это проблема с загрузкой вашей среды.

# Begin Whenever generated tasks for: supermarmite
SHELL=/bin/bash
HOME=/var/rails/supermarmite
#PATH=/var/rails/supermarmite/.rvm/gems/ruby-1.9.2-p0/bin:/var/rails/supermarmite/.rvm/gems/ruby-1.9.2-p0@global/bin:/var/rails/supermarmite/.rvm/rubies/ruby-1.9.2-p0/bin:/var/rails/supermarmite/.rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/mongodb/bin

0 * * * * source ~/.bashrc && cd /var/rails/supermarmite/site/releases/20100930044915 && RAILS_ENV=production rake -s evaluate_notify

# End Whenever generated tasks for: supermarmite
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...