首页 >> 大全

定时任务-启动服务立即执行一次,再按照cron表达式等待下一次执行

2023-12-09 大全 25 作者:考证青年

使用定时任务时,会存在一个小问题,比如当我们设置每30分钟执行一次,但是我们启动服务后不会立即执行,而是下次的30分钟到了才执行。

解决方式:

增加注解@

定时任务执行命令_用于指定待执行指令_

//定时任务(每30分钟执行一次)
@PostConstruct
@Scheduled(cron = "0 1/30 * * * ?")
private void configureTasks() {log.info("-----------开始定时任务-----------");//业务处理try {log.info("-----------业务处理-----------");Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}log.info("-----------结束定时任务-----------");
}

启动服务后,可以发现会立即执行一次

_定时任务执行命令_用于指定待执行指令

注意:这样虽然能解决,但是有个缺陷,如果定时任务执行的是耗时操作,比如调用一个远程接口,如果这个接口超时,那服务就会启动失败。所以我们可以用另外的方式来实现,比如在服务启动成功后执行一次即可。具体可参考:启动时的几种初始化操作 启动初始化_时光有伱记忆成花的博客-CSDN博客

推荐:通过实现或接口来实现即可

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了