Non ho usato cron prima, quindi non posso essere sicuro di averlo fatto bene. Le attività che voglio automatizzare non sembrano essere in esecuzione. Ho fatto questi passi nel terminale:Aiuto con la gemma "Whenever" in Ruby per le attività cron
- sudo gem install ogni volta
- passare alla directory dell'applicazione
- wheneverize. (Questo ha creato il file schedule.rb)
ho aggiunto questo codice di schedule.rb:
every 10.minutes do runner "User.vote", environment => "development" end every :hour do runner "Digest.rss", :environment => "development" end
ho aggiunto questo codice di 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
ho fatto questo nel terminale: quando
'tornato:
@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'
di eseguire questi comandi singolarmente nelle opere del terminale:
script/runner -e development 'Digest.rss' script/runner -e development 'User.vote'
Ora l'esecuzione di un server locale in modalità di sviluppo, lo script/server, non vedo alcuna prova che il codice sia effettivamente in esecuzione. C'è qualche passo che non ho fatto? Nessuna guida per "Whenever" mostra qualcosa di diverso da ciò che ho fatto.
Nota che ogni volta che -i è un poco più sicuro di ogni volta -w, che sovrascriverà l'intero crontab. Il primo aggiorna solo le voci in crontab relative a quando, lasciando intatte tutte le altre voci. Puoi sempre verificare che il tuo crontab sia stato aggiornato correttamente eseguendo crontab -l. – Ross