繁体   English   中英

时间触发工作Cron或Quartz?

[英]Time triggered job Cron or Quartz?

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

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

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

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

cron的优点是任何系统管理员都知道如何使用它,并且它在许多地方都有记录。 如果cron能够完成这项工作,那么它确实是首选的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM