【WEEK15】 【DAY3】Scheduled Tasks【English Version】

2024.6.5 Wednesday
Following 【WEEK15】 【DAY2】【DAY3】Email Tasks【English Version】

Contents

  • 17. Asynchronous, Scheduled, and Email Tasks
    • 17.3. Scheduled Tasks
      • 17.3.1. Two Annotations:
      • 17.3.2. Cron Expression
      • 17.3.3. Modify Springboot09TestApplication.java to Enable Scheduling
      • 17.3.4. Create ScheduledService.java
      • 17.3.5. Restart the Project

17. Asynchronous, Scheduled, and Email Tasks

17.3. Scheduled Tasks

In project development, it is often necessary to execute some scheduled tasks, such as analyzing the previous day’s log information at midnight every day. Spring provides us with asynchronous task scheduling methods, offering two interfaces (see TaskExecutor.class and TaskScheduler.class for details).

  • TaskExecutor interface (Task Executor)
  • TaskScheduler interface (Task Scheduler)

17.3.1. Two Annotations:

  • @EnableScheduling——Annotation to enable scheduling
  • @Scheduled——When to execute

17.3.2. Cron Expression

Cron Expression:

FieldAllowed ValuesAllowed Special Characters
Second0-59, - * /
Minute0-59, - * /
Hour0-23, - * /
Day1-31, - * / ? L W C
Month1-12, - * /
Week0-1 or SUN-SAT 0,7 is SUN, - * / ? L W C
Special CharacterMeaning
,Enumeration
-Range
*Any
/Step
?Day/Week conflict match
LLast
WWeekday
CValue calculated after calendar practice
#Week, 4#2 means the second Wednesday of the month

17.3.3. Modify Springboot09TestApplication.java to Enable Scheduling

package com.P51;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;

@EnableAsync   // Enable asynchronous annotation functionality

@EnableScheduling  // Enable scheduling annotation functionality

@SpringBootApplication
public class Springboot09TestApplication {

   public static void main(String[] args) {
      SpringApplication.run(Springboot09TestApplication.class, args);
   }

}

17.3.4. Create ScheduledService.java

package com.P51.service;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

@Service
public class ScheduledService {
    // Cron expression (you can search for explanations online)
    @Scheduled(cron = "30 06 14 * * ?") // Execute once daily at 14:06:30
    @Scheduled(cron = "0/2 * * * * ?")  // Execute every two seconds daily
    public void hello(){
        System.out.println("execute");
    }
}

Official explanation, very detailed and worth reading:
Insert image description here
Insert image description here

Other references:
https://www.bejson.com/othertools/cron/
Insert image description here

17.3.5. Restart the Project

Insert image description here

Insert image description here

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/687775.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

民主测评要做些什么?

民主测评,作为一种重要的民主管理工具,旨在通过广泛征求群众意见,对特定对象或事项进行客观、公正的评价。它不仅是推动民主参与、民主监督的重要手段,也是提升治理效能、促进社会和谐的有效途径。以下将详细介绍民主测评的主要过…

2.4 OpenCV随手简记(五)

一、图像翻转 第一个图像翻转,这个可是制作表情包的利器。 图像翻转在 OpenCV 中调用函数 flip() 实现,原函数如下: flip(src, flipCode, dstNone) src:原始图像。 flipCode:翻转方向, 如果 flipCode 为…

AI绘画如何打造高质量数据集?

遇到难题不要怕!厚德提问大佬答! 厚德提问大佬答11 你是否对AI绘画感兴趣却无从下手?是否有很多疑问却苦于没有大佬解答带你飞?从此刻开始这些问题都将迎刃而解!你感兴趣的话题,厚德云替你问,你…

Windows搭建apache网站

1、官网下载安装包,注意下载服务器对应操作系统的安装包(此案例为64位操作系统) Apache VS17 binaries and modules downloadFor (business) webmasters, developers and home-users who want running always up to date Windows VS17 binar…

【造化弄人:计算机系大学生真的象当年的高速公路收费员一样吗?】

曾经高速公路的收费员是多么的自豪和骄傲,按照常逻辑,车是越来越多,收费员应该越来越多?但现实情况,大家有目共睹! 不论你的车子怎么跑,只要上高速就要交费,那时候的收费员&#xf…

qmt量化交易策略小白学习笔记第18期【qmt编程之获取对应周期的北向南向数据--方式2:原生python】

qmt编程之获取对应周期的北向南向数据 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 ! 获取对应周期的北向南向数据 提示 该数据通过get_market_data_ex接口获取获取历史数据前需要先用downl…

【数据分析系列】交叉列联表与卡方检验:数据解读与Python实践应用

目录 一、交叉列联表和卡方检验的关系 (一)什么是交叉列联表 (二)什么是卡方检验 (三)除了卡方检验,列联表分析还可以结合其他统计方法 二、列联表只能用于两个分类变量吗? 三、…

解决富文本中抖音视频无法播放的问题——403

问题 富文本中的抖音视频无法播放,资源状态码是403禁止访问打开控制台,可以看到在项目中打开,数据请求的请求头多了一个Referer: http://localhost:3000/而复制链接在新窗口直接打开,请求头中并不会携带Referer 解决方案 在ind…

windows 系统通过 cmd 命令终止进程

windows 系统通过 cmd 命令终止进程 1、使用 netstat 命令查看特定端口的占用情况 例如,要查看端口号为 8015 的情况,可以执行以下命令: netstat -ano | findstr 8105此命令会显示所有占用端口 8105 的网络连接,并列出 PID&…

2009年408真题解析

2009年408真题解析 【2009.1】为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是。 A.栈 B.队列 C.树 D.图 …

2024-06-06 问AI: 在深度学习中,什么是欧几里德长度?

文心一言 在深度学习中,欧几里德长度(也称为欧几里得距离或欧氏距离)是一个常用的概念,它衡量的是在多维空间中两个点之间的真实距离,或者说是向量的自然长度(即该点到原点的距离)。以下是关于…

[职场] 缺点范文 #知识分享#经验分享#媒体

缺点范文 回答示范1: 我的公开演讲能力比较差,在公共场合讲话的时候我会感到紧张,不过谈论我熟悉的领域我会比较放松。所以当我需要做公开发言的时候,我必须要准备得很充分。我确实羡慕那些无论什么话题都能够高谈阔论的人。 回…

中国版Wayve决战端到端,等待数据的大力出奇迹

作者 |王博 编辑 |德新 「人工智能的定律只有一个,就是规模定律(Scaling Law),大力出奇迹。端到端是描述方式,更应该去考虑如何去生产更多的自动驾驶合适的数据,来喂养更大更合适的模型,取得更…

多目标应用:NSGA2求解无人机三维路径规划(MATLAB代码)

详细介绍 多目标应用:基于非支配排序的鱼鹰优化算法NSOOA求解无人机三维路径规划(MATLAB代码)-CSDN博客 一次运行结果 完整MATLAB代码 多目标应用:NSGA2求解无人机三维路径规划(MATLAB代码)

香港优才计划线上申请10大步骤,2024年流程截图,diy照做就可以

我是糖爸,已获批香港优才。10个步骤申请香港优才真的很简单,因为现在入境处只接受线上申请啦,你自己上传资料就可以,找中介也是你自己准备资料给他帮忙上传,何不自己动手上传呢,省个几万。 10大步骤分别是&…

吴恩达深度学习笔记:机器学习(ML)策略(1)(ML strategy(1))1.7-1.8

目录 第三门课 结构化机器学习项目(Structuring Machine Learning Projects)第一周 机器学习(ML)策略(1)(ML strategy(1))1.7 什么时候该改变开发/测试集和指…

智能视频监控平台LntonCVS视频融合共享平台保障露营安全解决方案

在当今社会,都市生活的快节奏和压力使得越来越多的人渴望逃离城市的喧嚣,寻求一种短暂的慢生活体验。他们向往在壮丽的山河之间或宁静的乡村中露营,享受大自然的宁静与美好。随着露营活动的普及,露营地的场景也变得更加丰富多样&a…

Three.js和Babylon.js,webGL中的对比效果分析!

hello,今天分享一些three.js和babylon.js常识,为大家选择three.js还是babylon.js做个分析,欢迎点赞评论转发。 一、Babylon.js是什么 Babylon.js是一个基于WebGL技术的开源3D游戏引擎和渲染引擎。它提供了一套简单易用的API,使开发…

UFS Explorer Professional Recovery: 如何从启用了 mSATA 缓存的 Drobo 设备中恢复数据

天津鸿萌科贸发展有限公司是 UFS Explorer Professional Recovery 数据恢复软件的授权代理商。 UFS Explorer Professional Recovery 数据恢复软件提供综合性的解决方案,用于解决复杂的数据恢复案例,包括那些采用特殊存储技术的案例,或介质受…

如何解决访问网站时IP被限制的问题?

在互联网上,用户可能会面临一个令人困扰的问题——当尝试访问某个特定的网站时,却发现自己的IP地址被该网站屏蔽。 IP地址被网站屏蔽是一个相对常见的现象,而导致这种情况的原因多种多样,包括恶意行为、违规访问等。本文将解释IP地…