2013-10-12 6 views
1

Я пытаюсь реализовать задания cron в своем приложении rails и абсолютно новичок в работе с crons. Я использую whenever камень в рельсах 3.Всякий раз, когда работа cron не работает (Rails 3)

Эти шаги, которые я сделал:

В Gemfile

gem 'whenever', :require => false 

Затем побежал,

wheneverize . 

И это, как мой config/schedule.rb выглядит так:

set :environment, :development 

set :path, "/home/pc/Workspace/pep1" 


every 1.minutes do 
runner "Demo.update_time_slot" 
command "rm -rf /tmp/cache" 
end 

Моя Демо модель содержит:

class << self 
def update_time_slot 
    ....... 
end 
end 

На терминале, я побежал команды,

whenever --update-crontab pep1 
whenever -i 

Но, похоже, файл хрон не получает казнены. Но когда я запускаю Demo.update_time_slot на консоли rails, он отлично работает.

Выход кронтаб -l является:

  # Begin Whenever generated tasks for: pep1 
    * * * * * /bin/bash -l -c 'cd /home/pc/Workspace/pep1 && script/rails runner -e development '\''Demo.update_time_slot'\''' 

    * * * * * /bin/bash -l -c 'rm -rf /tmp/cache' 

    # End Whenever generated tasks for: pep1 

    # Begin Whenever generated tasks for: /home/pc/Workspace/pep1/config/schedule.rb 
    * * * * * /bin/bash -l -c 'cd /home/pc/Workspace/pep1 && script/rails runner -e development '\''Demo.update_time_slot'\''' 

    * * * * * /bin/bash -l -c 'rm -rf /tmp/cache' 

    # End Whenever generated tasks for: /home/pc/Workspace/pep1/config/schedule.rb 

Выход "Grep CRON/вар/журнал/системный журнал" является:

Oct 12 22:37:01 IdeaPad-S400 CRON[10845]: (pc) CMD (/bin/bash -l -c 'rm -rf /tmp/cache') 
Oct 12 22:37:01 IdeaPad-S400 CRON[10846]: (pc) CMD (/bin/bash -l -c 'cd /home/mona/Workspace/pep1 && script/rails runner -e development '\''Demo.update_time_slot'\''') 
Oct 12 22:37:01 IdeaPad-S400 CRON[10847]: (pc) CMD (/bin/bash -l -c 'cd /home/mona/Workspace/pep1 && script/rails runner -e development '\''Demo.update_time_slot'\''') 
Oct 12 22:37:01 IdeaPad-S400 CRON[10852]: (pc) CMD (/bin/bash -l -c 'rm -rf /tmp/cache') 

Я не получаю, когда дела идут не так. Может ли кто-нибудь помочь мне в этом?

Будет очень признателен.

Спасибо.

ответ

0

Решено. Я добавил этот путь в начале графика.rb:

env :PATH, '/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' 

Теперь крлоны работают отлично.

Смежные вопросы