我想使用cron表达式使用 @schedule 注释来安排多个任务。我有三份工作要求在固定时间执行。例如,Job-1每天安排在晚上11点,Job-2安排在每天上午7点到晚上9点,间隔1小时,Job-3每1小时安排一次。所有3个计划任务都是同一个应用程序的一部分。
我尝试了相同的但是没有发生所有三个调度。我的应用程序是 SpringBoot应用程序。我不是新的调度。请帮助我。以下是我的方法
application.properties
#r "FSharp.Data"
open FSharp.Data
let googleUrl = "http://www.google.co.uk/search?q=FSharp.Data"
let doc = HtmlDocument.Load(googleUrl)
Java代码
cron.expression.job1=0 0 23 * * ?
cron.expression.job2=0 0 7,9 * * ?
cron.expression.job3=0 0/60 * * ?
答案 0 :(得分:3)
您应该配置TaskScheduler线程池大小。如果你没有配置,默认大小为1,这意味着spring将逐个执行你的任务。您可以在下面配置您的TaskScheduler。
@Configuration
@EnableAsync
@EnableScheduling
public class SpringBootConfiguration {
@Bean
public Executor getTaskExecutor() {
return Executors.newScheduledThreadPool(10);
}
}