Question

J'ai déjà posé une question distincte sur la création d'un événement déclenché par le temps en Java . On m'a présenté le quartz. En même temps, je le cherche aussi en ligne, et les gens disent que cron sous Unix est une solution intéressante.

Lequel est le meilleur? Quels sont les inconvénients et les avantages?

Quelques spécifications du système: * Unix OS * programme écrit en Java * J'ai une file d'attente avec plus de 1000 entrées, pour chaque horodatage, jusqu'à 500 tâches peuvent être déclenchées.

Était-ce utile?

La solution

  1. L’utilisation de cron semble ajouter un autre point d’entrée dans votre application, tandis que Quartz s’y intégrerait. Ainsi, vous seriez obligé de gérer une communication inter-processus si vous vouliez transmettre des informations au / au processus appelé à partir de cron . Dans Quartz , vous exécutez simplement plusieurs threads.
  2. cron dépend de la plate-forme, Quartz ne l'est pas.
  3. Quartz peut vous permettre de vous assurer de manière fiable qu'une tâche est exécutée à l'heure indiquée ou ultérieurement si le serveur était en panne depuis un certain temps. cron ne le ferait pas pour vous (à moins que vous ne le manipuliez manuellement).
  4. Quartz utilise un langage plus souple pour exprimer des occurrences (lorsque les tâches doivent être déclenchées).
  5. Considérez l'empreinte mémoire. Si vos tâches individuelles ne partagent rien ou peu, il peut être préférable de les exécuter à partir du système d'exploitation en tant que processus séparé. S'ils partagent beaucoup d'informations, il est préférable de les avoir comme threads au sein d'un processus.
  6. Vous ne savez pas vraiment comment gérer le clustering dans l'approche cron . Quartz peut être utilisé avec Terracotta suivant le schéma de réduction d'échelle (je n'ai pas essayé mais je crois que c’est faisable).

Autres conseils

Le principal avantage de cron est que tout administrateur système sait comment l'utiliser et qu'il est documenté à de nombreux endroits. Si cron fera le travail alors ce serait vraiment la solution préférée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top