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

标签 java linux multithreading

我正在从事一个项目,该项目将在 Linux 系统上使用 Java 记录实时事件的数据。
我把所有 HTML 抓取的东西都记下来了,没关系,我需要弄清楚的是任务的安排和管理。

每周可能会在不同的时间发生多达四十个事件,并且事件可能持续长达三个小时。
我可以随意创建和更新这些事件的日历,我的问题是如何:

  1. 安排一个流程在正确的时间抓取每个事件,并在发生变化时更新时间表。
  2. 确保在抓取过程开始后,它会在整个(不确定的) 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/

相关文章:

java - 子类调用父类(super class)的静态方法

java - java 是否将字符串定义为以 null 结尾?

multithreading - 防止 Delphi MDI 应用程序在外部 DLL 中创建 TApplication

java - 用Java读取大量数据

java - Hibernate 持久化和错误处理工作流程

linux - Linux 中的不间断写入

java - jstack 输出 - 获取 java Thread.getId 的 tid

java - 如何在不同的应用程序级别锁定文件?

linux - 32 位到 64 位 jvm 迁移 - jboss web 应用程序和 linux 服务器

php - 为 PHP-FPM 使用 HOSTALIASES