Nie używałem wcześniej crona, więc nie mogę być pewien, że zrobiłem to dobrze. Zadania, które chcę zautomatyzować, wydają się nie działać. Zrobiłem kroki w terminalu:Pomoc z klejnotem "Ilekroć" w Ruby dla zadań cron
- sudo gem install ilekroć
- zmiana katalogu aplikacji
- wheneverize. (Ten stworzył schedule.rb plik)
dodałem ten kod do schedule.rb:
every 10.minutes do runner "User.vote", environment => "development" end every :hour do runner "Digest.rss", :environment => "development" end
dodałem ten kod do 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
Zrobiłem to w terminalu: gdy
powrócił:
@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'
Running tych poleceń indywidualnie w pracach przyłączeniowych:
script/runner -e development 'Digest.rss' script/runner -e development 'User.vote'
Teraz uruchomiony lokalny serwer w trybie rozwoju, scenariusz/serwer, nie widzę żadnych dowodów, że kod jest właściwie prowadzony. Czy jest jakiś krok, którego nie zrobiłem? Brak przewodników dla "Kiedykolwiek" pokazują cokolwiek innego niż to, co zrobiłem.
Zauważ, że gdy -i to trochę bezpieczniejsze niż kiedykolwiek -w, co spowoduje nadpisanie całego pliku crontab. Ten pierwszy aktualizuje tylko wpisy w crontabie związane z każdym, pozostawiając nietknięte inne wpisy. Zawsze możesz sprawdzić, czy Twój crontab został poprawnie zaktualizowany, uruchamiając crontab -l. – Ross