【问题标题】:Time triggered job Cron or Quartz?时间触发作业 Cron 或 Quartz?
【发布时间】:2010-11-04 23:44:21
【问题描述】:

我已经问过separate question on how to create time triggered event in Java。我被介绍给石英。 同时,我也在网上google了一下,有人说Unix中的cron是一个很好的解决方案。

哪个更好?有什么优缺点?

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

【问题讨论】:

    标签: java cron quartz-scheduler


    【解决方案1】:
    1. 使用cron 似乎为您的应用程序添加了另一个入口点,而Quartz 将集成到其中。因此,如果您想向/从cron 调用的进程传递一些信息,您将不得不处理一些进程间通信。在Quartz 中,您只需(呵呵)运行多个线程。
    2. cron 是平台相关的,Quartz 不是。
    3. Quartz 可以让您可靠地确保任务在给定时间或服务器关闭一段时间后的某个时间运行。 Pure cron 不会为你做这件事(除非你手动处理)。
    4. Quartz 有一种更灵活的表达事件的语言(何时应该触发任务)。
    5. 考虑内存占用。如果您的单个任务不共享或共享很少,那么最好将它们从操作系统作为单独的进程运行。如果它们共享大量信息,最好将它们作为一个进程中的线程。
    6. 不太确定如何在cron 方法中处理集群。 Quartz 可能与 Terracotta 一起使用,遵循横向扩展模式(我没有尝试过,但我相信它是可行的)。

    【讨论】:

    • 哇!我真的很感谢你的广泛比较!这正是我一直在寻找的。非常感谢!!!!
    • Quartz 有自己的集群功能,不需要添加分布层。它允许您说“在某个集群上运行此作业”。
    • 这个功能令人印象深刻,因为我稍后会处理集群。 ^_^ 谢谢skaffman~
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-25
      • 2022-11-10
      • 2011-10-25
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多