2011-01-12 10 views
1

Ich würde gerne wissen, welche der Optionen besser ist und warum?
* Linux Cron Job
* Hintergrund Job Scheduler von Schienen. (Was Plugin hilft mir dabei noch eine andere Frage!)Linux Cron Job oder irgendein Job Scheduler von Rails. Was ist besser für die automatisierte Bereitstellung?

Einige der Cron-Jobs, die unsere Anwendung beschäftigt sind wie folgt:
-> 1 Job temp-Verzeichnis in der App-Server zu reinigen, jede Woche
- > 4 Jobs zum Synchronisieren von Daten zwischen und voneinander abhängigen Anwendungen

Einige der Synchronisierungsjobs dauern abhängig von der Datenladung unbestimmte Zeit - manchmal dauert es eine Minute, manchmal zwei Minuten, andere Zeiten 5 Minuten usw

FYI - Alle oben genannten Jobs existieren derzeit als Cron-Jobs.

Mit den oben genannten Einschränkungen, was ist der beste Ansatz zum Ausführen der Hintergrundjobs, wenn wir eine automatisierte Bereitstellung beabsichtigen?

+0

Wenn es nicht kaputt ist, was behebst du? – Fragsworth

+0

Entschuldigung dafür, dass ich meine Frage nicht klar ausspreche. Wir haben die Anwendung bis zum Datum manuell bereitgestellt und beabsichtigen, den Bereitstellungsprozess so schnell wie möglich zu automatisieren. Ich fragte mich, was das für Folgen haben könnte ... und jetzt einfach zu neugierig, um die Praxis zu kennen, der die Leute folgen. Und deshalb entstand die Frage. – karthiks

Antwort

1

Wenn Sie verwenden Capistrano für Ihre Bereitstellung beabsichtigen, würde ich das, wenn gem empfehlen: https://github.com/javan/whenever

Nicht nur hat es eine saubere Syntax für Cron-Jobs zu definieren, aber es lässt sich gut mit den Capistrano Rezepte

+2

wann immer es toll ist. aber Vorsicht, wenn Sie RVM verwenden. https://github.com/javan/whenever/issues/#issue/100 Ich habe lange gebraucht, um herauszufinden, dass meine RVM-Umgebung nicht korrekt geladen wurde. – cbrulak

+0

Danke MrRuru und cbrulak. Ich bin auf die Idee gekommen, rufus-scheduler zu verwenden, um Cron-Jobs zu ersetzen, und werde bald capistrano für automatisierte Bereitstellungen verwenden. Deine Antworten haben aber geholfen. – karthiks