我正在尝试使用JAVA创建一个cronjob应用程序。
我正在使用Quartz Scheduler
插件。一切都看起来不错,但我必须找到一种方法来停止/暂停它,然后重新启动它。
我使用Swing
和带有两个按钮的系统托盘创建了一个GUI。停止并开始。 “开始”按钮工作正常,并启动调度程序输出所需的结果。但是,我无法右键单击系统托盘上弹出的菜单图标,直到调度程序关闭。
以下是启动Cronjob的功能
public static void startCron(String serverAddress, int interval) throws Exception {
JobDetail job = JobBuilder.newJob(RunCron.class).withIdentity("mainCron", "group1").build();
// Trigger the job to run on the next round minute
Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("dummyTriggerName", "group1")
.withSchedule(
SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(interval).repeatForever())
.build();
// schedule it
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.start();
scheduler.scheduleJob(job, trigger);
try {
Thread.sleep(8000); //1000 milliseconds is one second.
scheduler.shutdown();
System.out.println("System was shut down");
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
}
Cronjob只是对服务器和响应的http请求。 我在8秒后休眠和关机,以防止永不结束执行,因为GUI在作业运行时没有响应。
答案 0 :(得分:0)
X_list <- split(X, factor(1:nrow(X)))
do.call(rbind, parallel::mclapply(X_list, findmins, Level))
## [,1] [,2] [,3]
## 1 1 5 6
## 2 2 3 6
## 3 1 4 7
## 4 1 5 6
## 5 2 5 7
## 6 2 4 6
## 7 1 5 8
## 8 1 5 8
## 9 1 3 8
## 10 1 3 8
阻止您的应用程序处理任何输入,直到8秒结束。