我正在从事一个项目,该项目将在 Linux 系统上使用 Java 记录实时事件的数据。
我把所有 HTML 抓取的东西都记下来了,没关系,我需要弄清楚的是任务的安排和管理。
每周可能会在不同的时间发生多达四十个事件,并且事件可能持续长达三个小时。
我可以随意创建和更新这些事件的日历,我的问题是如何:
- 安排一个流程在正确的时间抓取每个事件,并在发生变化时更新时间表。
- 确保在抓取过程开始后,它会在整个(不确定的) Activity 期间保持运行。
谁能建议如何最好地解决这个问题?我不确定我需要从哪里开始。
谢谢!
最佳答案
a) Schedule a process to scrape each event at the right time, and update the schedule if there's a change.
如果您不想使用图书馆,安排您的任务的一个很好的起点可以是 ScheduledExecutorService
.虽然你可能会发现 other scheduling frameworks对您的问题有用 Quartz可以具体给你一个灵 active ,根据当前的调度执行结果如何调度下一个任务;它还提供了 cron 功能,这样如果您的日程安排是固定的,您就可以利用固定的预定日历。
b) Ensure once the scrape process has begun that it stays running for the entire (indeterminate) duration of the event.
假设您正在使用一个用于 HTML 抓取的库,您无需确保它正在运行,因为它将是从您的应用程序启动的 Java 任务对象。
关于java - Linux 上的 Java 实时事件调度入门?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9922582/