Помощь с драгоценным камнем "Всякий раз" в Ruby для задач cron - PullRequest
5 голосов
/ 14 октября 2010

Я раньше не использовал cron, поэтому не могу быть уверен, что все сделал правильно. Задачи, которые я хочу автоматизировать, похоже, не выполняются. Я сделал эти шаги в терминале:

  1. sudo gem устанавливается всякий раз, когда
  2. перейти в каталог приложения
  3. когда верю. (это создало файл schedule.rb)
  4. Я добавил этот код в schedule.rb:

    every 10.minutes do
      runner "User.vote", environment => "development"
    end
    
    
    every :hour do
      runner "Digest.rss", :environment => "development"
    end
    
  5. Я добавил этот код для deploy.rb:

    after "deploy:symlink", "deploy:update_crontab"
    
    
    namespace :deploy do
      desc "Update the crontab file"
      task :update_crontab, :roles => :db do
        run "cd #{current_path} && whenever --update-crontab #{application}"
      end
    end
    
  6. Я делал это в терминале: всякий раз, когда

  7. Возвращено:

    @hourly cd /Users/RedApple/S && script/runner -e development 'Digest.rss'
    
    
    0,10,20,30,40,50 * * * * cd /Users/RedApple/S && script/runner -e development 'User.vote'
    
  8. Запуск этих команд по отдельности в терминале работает:

    script/runner -e development 'Digest.rss'
    script/runner -e development 'User.vote'
    
  9. Сейчас, когда запущен локальный сервер в режиме разработки, скрипт / сервер, я не вижу никаких доказательств того, что код на самом деле выполняется. Есть ли какой-то шаг, который я не сделал? Нет руководств для "Всякий раз", чтобы показать что-либо еще, кроме того, что я сделал.

1 Ответ

11 голосов
/ 13 декабря 2010

Я новичок в любом случае, но я думаю, что просто запуск

whenever

просто показывает вам, как будет выглядеть созданное задание cron.Чтобы на самом деле написать задание cron (чтобы сделать его активным), вам нужно выполнить:

whenever -w

Это даст вам полный список параметров:

whenever -h
...