Ich habe Cron nicht zuvor verwendet, also kann ich nicht sicher sein, dass ich das richtig gemacht habe. Die Aufgaben, die ich automatisieren möchte, scheinen nicht ausgeführt zu werden. Ich habe diese Schritte im Terminal:Hilfe mit dem Juwel "Immer wenn" in Ruby für Cron-Aufgaben
- sudo gem install, wenn
- Änderung des Anwendungsverzeichnis
- wheneverize. (Dies erstellt die Datei schedule.rb)
ich diesen Code hinzugefügt schedule.rb:
every 10.minutes do runner "User.vote", environment => "development" end every :hour do runner "Digest.rss", :environment => "development" end
ich diesen Code hinzugefügt 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
ich dies tat im Terminal: wann immer
Es zurückgegeben:
@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'
diese Befehle einzeln in den Anschlussarbeiten ausführen:
script/runner -e development 'Digest.rss' script/runner -e development 'User.vote'
nun einen lokalen Server im Entwicklungsmodus, Skript/Server ausgeführt wird, ich sehe keine Anzeichen dafür, dass der Code tatsächlich ausgeführt wird. Gibt es einen Schritt, den ich nicht gemacht habe? Keine Anleitungen für "Immer" zeigen etwas anderes als das, was ich getan habe.
Beachten Sie, dass, wenn -i ein wenig sicherer als wenn -w, was deine gesamte crontab überschreibt. Ersteres aktualisiert nur die Einträge in crontab, die sich auf wann beziehen, wobei alle anderen Einträge unverändert bleiben. Sie können immer überprüfen, ob Ihre crontab korrekt aktualisiert wurde, indem Sie crontab -l ausführen. – Ross