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.
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. cron
ist plattformabhängig, Quartz
nicht. 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). Quartz
hat eine flexiblere Sprache zum Ausdrücken von Vorkommen (wenn die Aufgaben ausgelöst werden sollen). 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). 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.
Tags und Links java quartz-scheduler cron