运行 每 15 分钟、每天、特定时间之间的方法
Running a method every 15 minutes, every day, between certain times
我想在伦敦时间 08:01:00 和 16:31:00 之间,每天每 15 分钟 运行 一个方法。
所以像这样:
foo(); //run every 15 mins, everyday, between 08:01:00 and 16:31:00.
public void foo(){
//do stuff
}
我试过使用日历和计时器,但无法正常工作。
感谢我们的帮助。
您可以使用quartz-scheduler
我已经用了一段时间了,效果很好。
使用定时器任务:
https://www.youtube.com/watch?v=36jbBSQd3eU
每 1000 毫秒你 运行 你的代码(每秒)。然后你检查 LocalTime.now() - 用你的时间。
如果时间为真,则调用您的方法(并将全局布尔变量设置回假)。否则什么都不做。
另一个性能点是线程(在我自己的计算机上)在 10 秒内 运行s 1 235 102 次。定时器任务会在 10 秒内 运行 10 次。
您将在一秒钟内完成此操作。
我希望我们在这里谈论 运行 JAVA 中的任何工作。
因此,在 java 中,我们有 SchedulerFactory
根据给定的 Cron 表达式来安排作业。
//Create instance of factory
SchedulerFactory schedulerFactory=new StdSchedulerFactory();
//Get schedular
Scheduler scheduler= schedulerFactory.getScheduler();
//Create JobDetail object specifying which Job you want to execute
JobDetail jobDetail=new JobDetail("myJobClass","myJob1",MyJob.class);
//Associate Trigger to the Job
CronTrigger trigger=new CronTrigger("cronTrigger","myJob1","0 0/1 * * * ?");
//Pass JobDetail and trigger dependencies to schedular
scheduler.scheduleJob(jobDetail,trigger);
//Start schedular
scheduler.start();
MyJob.class
public class MyJob implements Job{
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("Your Logic");
}
}
现在对于你的 chron 工作,它会是这样的,
*/15 7-16 * * *
您可以查看更多关于 chrome 工作 Here
希望对您有所帮助。
我想在伦敦时间 08:01:00 和 16:31:00 之间,每天每 15 分钟 运行 一个方法。
所以像这样:
foo(); //run every 15 mins, everyday, between 08:01:00 and 16:31:00.
public void foo(){
//do stuff
}
我试过使用日历和计时器,但无法正常工作。
感谢我们的帮助。
您可以使用quartz-scheduler
我已经用了一段时间了,效果很好。
使用定时器任务:
https://www.youtube.com/watch?v=36jbBSQd3eU
每 1000 毫秒你 运行 你的代码(每秒)。然后你检查 LocalTime.now() - 用你的时间。
如果时间为真,则调用您的方法(并将全局布尔变量设置回假)。否则什么都不做。
另一个性能点是线程(在我自己的计算机上)在 10 秒内 运行s 1 235 102 次。定时器任务会在 10 秒内 运行 10 次。
您将在一秒钟内完成此操作。
我希望我们在这里谈论 运行 JAVA 中的任何工作。
因此,在 java 中,我们有 SchedulerFactory
根据给定的 Cron 表达式来安排作业。
//Create instance of factory
SchedulerFactory schedulerFactory=new StdSchedulerFactory();
//Get schedular
Scheduler scheduler= schedulerFactory.getScheduler();
//Create JobDetail object specifying which Job you want to execute
JobDetail jobDetail=new JobDetail("myJobClass","myJob1",MyJob.class);
//Associate Trigger to the Job
CronTrigger trigger=new CronTrigger("cronTrigger","myJob1","0 0/1 * * * ?");
//Pass JobDetail and trigger dependencies to schedular
scheduler.scheduleJob(jobDetail,trigger);
//Start schedular
scheduler.start();
MyJob.class
public class MyJob implements Job{
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("Your Logic");
}
}
现在对于你的 chron 工作,它会是这样的,
*/15 7-16 * * *
您可以查看更多关于 chrome 工作 Here
希望对您有所帮助。