时间触发工作Cron或Quartz?

Lil*_*ily 8 java cron quartz-scheduler

我已经问过一个关于如何在Java中创建时间触发事件单独问题.我被介绍给Quartz.与此同时,我也在网上谷歌,人们cron在Unix 中说是一个很好的解决方案.

哪一个更好?什么是缺点和优点?

系统的一些规范:*用Java编写的Unix OS*程序*我有一个包含1000多个条目的任务队列,对于每个时间戳,最多可触发500个任务.

Grz*_*zki 20

  1. 使用cron似乎在您的应用程序中添加了另一个入口点,同时Quartz将其集成到其中.因此,如果您想要从调用的进程传递一些信息,那么您将被迫处理一些进程间通信cron.在Quartz你简单(呵呵)执行多个线程.
  2. cron是平台依赖,Quartz不是.
  3. Quartz可能允许您可靠地确保任务在给定时间运行,或者在服务器停机一段时间后运行.Pure cron不会为你做(除非你手动处理它).
  4. Quartz 有一种更灵活的表达出现的语言(当任务应该被解雇时).
  5. 考虑内存占用.如果您的单个任务没有共享任何内容,那么最好从操作系统中将它们作为一个单独的进程运行.如果他们共享大量信息,最好将它们作为一个进程中的线程.
  6. 不太确定如何处理方法中的聚类cron.Quartz可能会在缩小模式后使用Terracotta(我没有尝试过,但我相信它是可行的).