在指定时间运行任务的调度算法

时间:2009-11-28 09:35:14

标签: java

请为以下情况建议我最好的算法:

我有一些用户可以随时安排这些任务,任务可能有周期性选项(定期/每周/每月......)。我必须在预定时间运行这些任务。

  1. 在指定的开始日期后仅运行一次
  2. 在指定日期后每1小时定期运行
  3. 在指定日期之后的每一小时每周一和周二运行
  4. 在指定日期后的特定日期每月运行一次。
  5. 如果您提供代码段,那就更好了......

5 个答案:

答案 0 :(得分:4)

使用Quartzcron4j之类的调度程序(相当不错的库,比Quartz更轻量级)。

答案 1 :(得分:2)

Hudson集成服务器完全相同(在Java中)。它甚至实现了允许复杂计划的cron语法。它是open source

答案 2 :(得分:1)

如果您需要Java解决方案,我建议您查看Quartz。该链接指向Quartz功能页面,看起来它可能非常适合您的要求。可以找到一堆示例here

答案 3 :(得分:1)

Quartz是一个不错的,开放的,可扩展的,基于Java的库。

答案 4 :(得分:1)

如果您不是必须使用Java,则应使用cron。这就是cron