时间触发工作Cron或Quartz?
-
06-07-2019 - |
题
我已经问过关于如何在Java中创建时间触发事件的单独问题一>。我被介绍给Quartz。
与此同时,我也在网上谷歌,人们说Unix中的 cron
是一个很好的解决方案。
哪一个更好?什么是缺点和优点?
系统的一些规范: * Unix OS *用Java编写的程序 *我有一个包含1000多个条目的任务队列,对于每个时间戳,最多可触发500个任务。
解决方案
- 使用
cron
似乎在应用程序中添加了另一个入口点,而Quartz
将集成到其中。因此,如果您想要从cron
调用的进程传递一些信息,那么您将被迫处理一些进程间通信。在Quartz
中,您只需(呵呵)运行多个线程。 -
cron
与平台有关,Quartz
不是。 -
Quartz
可以让您可靠地确保在服务器关闭一段时间后的给定时间或某个时间运行任务。纯cron
不会为你做(除非你手动处理)。 -
Quartz
具有更灵活的表达出现的语言(当应该触发任务时)。 - 考虑内存占用。如果您的单个任务没有共享任何内容,那么最好从操作系统中将它们作为一个单独的进程运行。如果他们共享大量信息,最好将它们作为一个进程中的线程。
- 不太确定如何处理
cron
方法中的聚类。Quartz
可能与缩放模式后的 Terracotta 一起使用(我还没有尝试过)它,但我相信它是可行的。)
醇>
其他提示
cron的优点是任何系统管理员都知道如何使用它,并且它在很多地方都有记录。如果cron能够完成这项工作,那么它确实是首选的解决方案。
不隶属于 StackOverflow