2012-07-17 6 views
35

Sorry schnelle Frage hier von einem relativen Rails Newbie. Ich versuche, den Edelstein Whenever zu verwenden, um eine Reihe von Rake-Aufgaben zu planen. Ich kann nicht für das Leben von mir es wirklich anfangen, die Cronjobs auf meiner Entwicklungsmaschine laufen zu lassen.Schienen, mit immer wenn Juwel in der Entwicklung

Geht man von anderen Threads Stackoverflow, wie es scheint, ich sollte hinzufügen:

set :environment, "development" 

meiner schedule.rb Datei. Aber was dann?

Und wie stoppe ich dann die Cron-Jobs, wenn sie angefangen haben?

Mit Rails 3.2.3 in OSX

UPDATE: die Antwort ist $ whenever -w, die schreibt den Cron-Job in eine crontab-Datei auszuführen. Das System startet dann sofort automatisch diese Crontab-Datei.

Leider ist mein Logfile für wann immer enthält folgende Komponenten: "rake aborted! Don't know how to build task <task name>"

Ich denke, dies auf Grund sein könnte, auf die bekannten crontab/rvm Problem, aber alle Vorschläge sind willkommen.

Antwort

6

Sie können den Befehl whenever und seine verschiedenen Optionen verwenden, um Ihre Crontab zu manipulieren.

$ whenever --help 
Usage: whenever [options] 
    -i [identifier],     Default: full path to schedule.rb file 
     --update-crontab 
    -w, --write-crontab [identifier] Default: full path to schedule.rb file 
    -c, --clear-crontab [identifier] 
    -s, --set [variables]   Example: --set 'environment=staging&path=/my/sweet/path' 
    -f, --load-file [schedule file] Default: config/schedule.rb 
    -u, --user [user]    Default: current user 
    -k, --cut [lines]    Cut lines from the top of the cronfile 
    -v, --version 
+0

Danke. Was ich nicht bemerkte, war, dass, sobald man in die Crontab-Datei mit 'iwweh -w' schreibt, die crontab automatisch gestartet wird (dh man muss nichts anderes mehr tun, um sie auszuführen). Leider wird meine Logdatei für wann immer sagt "Rake abgebrochen! Ich weiß nicht, wie ich die Aufgabe erstellen soll. " Die Rake-Aufgabe funktioniert allein, indem $ Rake über die Eingabeaufforderung verwendet wird. Irgendwelche Vorschläge? – user1377556

+0

Sie haben wahrscheinlich eine falsche Syntax irgendwo in der Aufgabe oder bei jedem Ereignis. Versuchen Sie, eine informativere Stack-Ablaufverfolgung zu erhalten. – Conner

+0

Wenn man sich etwas umschaut, scheint dies ein Problem mit RVM zu sein, das anscheinend Probleme mit Wann immer hat. Irgendwelche Vorschläge dazu würden am meisten geschätzt. – user1377556

2
whenever -c cron-name #removing cronjobs 
56

löschen bestehenden Cronjobs.

crontab -r 

Aktualisieren Sie Cronjob mit der Umgebung.

whenever --update-crontab --set environment='development' 
+1

Ich würde gerne eine informativere Beschreibung von genau sehen, was diese Befehle tun, gerichtet auf einen Anfänger! –

0

Hinzufügen der folgenden Codezeile oben auf config/schedule.rb arbeitete für mich.

ENV['RAILS_ENV'] = "development" 
Verwandte Themen