Linux上的Java实时事件调度入门?

时间:2012-03-29 09:27:30

标签: java linux multithreading

我正在开发一个项目,该项目将在Linux系统上使用Java记录实时事件的数据 我把所有的HTML抓取工具都搞砸了,没关系,我需要弄清楚的是任务的调度和管理。

每周可能发生多达40项事件,时间不同,事件可持续长达3小时 我可以随意创建和更新这些事件的日历,我的问题是如何:

  1. 安排一个流程以在适当的时间抓取每个事件,并在有更改时更新计划。
  2. 确保一旦刮擦过程开始,它将在整个(不确定的)持续时间内保持运行。
  3. 有人可以建议如何最好地接近这个吗?我不确定我需要从哪里开始。

    谢谢!

1 个答案:

答案 0 :(得分:1)

  

a)安排在适当的时间刮取每个事件的过程,并且   如果有变化,请更新时间表。

如果您不想使用库,那么安排任务的良好起点可以是ScheduledExecutorService。虽然您可能会发现other scheduling frameworks对您的问题很有用,Quartz可以根据当前的计划执行结果灵活地为您提供如何安排下一个任务的灵活性。它还提供 cron 功能,以便在您的日程安排得到修复后,您可以利用固定的预定日历。

  

b)确保一旦刮擦过程开始,它就会继续运行   事件的整个(不确定)持续时间。

假设您正在使用库进行HTML抓取,您不需要确保它正在运行,因为它将是从您的应用程序启动的Java任务对象。