2009-06-22 12 views
7

Ya le pregunté separate question on how to create time triggered event in Java. Me presentaron a Quartz. Al mismo tiempo, también lo busco en línea, y la gente dice que cron en Unix es una buena solución.¿Tiempo de trabajo activado Cron o Quartz?

¿Cuál es mejor? ¿Cuáles son los contras y los pros?

Algunos especificación del sistema: * Unix OS * programa escrito en Java * Tengo una cola de tareas con más de 1000 entradas, para cada marca de tiempo, hasta 500 tareas podrían ser activado.

Respuesta

19
  1. Usando cron parece añadir otro punto de entrada en su aplicación, mientras que Quartz integraría en ella. Por lo tanto, se le obligaría a tratar con alguna comunicación entre procesos si quisiera pasar alguna información al proceso invocado desde cron. En Quartz simplemente (jeje) ejecuta múltiples hilos.
  2. cron depende de la plataforma, Quartz no lo es.
  3. Quartz puede permitirle asegurarse de que una tarea se ejecuta en el momento determinado o un tiempo después si el servidor estuvo inactivo durante un tiempo. Pure cron no lo haría por usted (a menos que lo maneje manualmente).
  4. Quartz tiene un lenguaje más flexible de expresión de ocurrencias (cuando las tareas deberían activarse).
  5. Considere la huella de memoria. Si sus tareas individuales no comparten nada o poco, entonces podría ser mejor ejecutarlas desde el sistema operativo como un proceso separado. Si comparten mucha información, es mejor tenerlos como hilos dentro de un proceso.
  6. No estoy seguro de cómo podría manejar la agrupación en el enfoque cron. Quartz se puede usar con Terracotta siguiendo el patrón de escala (no lo he probado, pero creo que es factible).
+0

wow! ¡Realmente aprecio tu extensa comparación! Eso es exactamente lo que he estado buscando. ¡¡¡¡Muchas gracias!!!! – Lily

+0

Quartz tiene su propia funcionalidad de clúster, no necesita agregarle una capa de distribución. Le permite decir "ejecutar este trabajo en el clúster en algún lugar". – skaffman

+0

esta funcionalidad es bastante impresionante, cauz 'Me ocuparé del clúster más adelante.^_^Gracias skaffman ~ – Lily

2

El más para cron es que cualquier administrador de sistemas sabe cómo usarlo y está documentado en muchos lugares. Si cron hará el trabajo, entonces sería realmente la solución preferida.

+0

+1 para la aplicación de la navaja de Occam – user2910265

Cuestiones relacionadas