Zeitgesteuerter Job Cron oder Quartz?

8

Ich habe bereits eine separate Frage zur Erstellung eines zeitgesteuerten Ereignisses in Java . Ich wurde mit Quarz bekannt gemacht. Zur gleichen Zeit google ich es auch online, und die Leute sagen, dass cron in Unix eine saubere Lösung ist.

Welcher ist besser? Was sind die Nachteile und Vorteile?

Einige Angaben zum System: * Unix-Betriebssystem * Programm in Java geschrieben * Ich habe eine Aufgabenwarteschlange mit mehr als 1000 Einträgen, für jeden Zeitstempel können bis zu 500 Aufgaben ausgelöst werden.

    
Lily 22.06.2009, 21:03
quelle

2 Antworten

20
  1. Die Verwendung von cron scheint einen weiteren Einstiegspunkt in Ihre Anwendung hinzuzufügen, während Quartz darin integriert wäre. Sie wären also gezwungen, sich mit einer Kommunikation zwischen Prozessen zu befassen, wenn Sie Informationen an / von dem Prozess übergeben möchten, der von cron aufgerufen wurde. In Quartz führen Sie einfach (hehe) mehrere Threads aus.
  2. cron ist plattformabhängig, Quartz nicht.
  3. Mit Quartz können Sie zuverlässig sicherstellen, dass eine Aufgabe zur angegebenen Zeit oder einige Zeit danach ausgeführt wird, wenn der Server für einige Zeit nicht aktiv war. Pure cron würde es nicht für Sie tun (es sei denn, Sie behandeln es manuell).
  4. Quartz hat eine flexiblere Sprache zum Ausdrücken von Vorkommen (wenn die Aufgaben ausgelöst werden sollen).
  5. Betrachten Sie den Speicherbedarf. Wenn Ihre einzelnen Aufgaben nichts oder wenig teilen, ist es möglicherweise besser, sie als separaten Prozess vom Betriebssystem auszuführen. Wenn sie viele Informationen teilen, ist es besser, sie als Threads innerhalb eines Prozesses zu haben.
  6. Nicht ganz sicher, wie Sie das Clustering im cron -Ansatz handhaben könnten. Quartz könnte mit Terracotta nach dem Skalierungsmuster verwendet werden (ich habe es nicht versucht, aber ich glaube, dass es machbar ist).
Grzegorz Oledzki 22.06.2009, 21:29
quelle
3

Das Plus für cron ist, dass jeder Systemadministrator weiß, wie man es benutzt, und es ist an vielen Stellen dokumentiert. Wenn cron den Job macht, dann wäre es wirklich die bevorzugte Lösung.

    
Jon Strayer 25.06.2009 16:32
quelle

Tags und Links