quartz定時器中 Scheduled引數的設定

2021-10-06 23:17:59 字數 1457 閱讀 2751

如果要隨著main方法啟動的話需要新增@enablescheduling

引數說明

@scheduled 引數可以接受兩種定時的設定,一種是我們常用的 cron="*/6 * * * * ?",一種是 fixedrate = 6000,兩種都可表示固定週期執行定時任務。

fixedrate說明

@scheduled(fixedrate = 6000):上一次開始執行時間點之後 6 秒再執行。

@scheduled(fixeddelay = 6000):上一次執行完畢時間點之後 6 秒再執行。

@scheduled(initialdelay=1000, fixedrate=6000):第一次延遲 1 秒後執行,之後按 fixedrate 的規則每 6 秒執行一次。

cron說明

cron一定有七位數,最後一位是年,springboot定時方案只需要設定六位即可:

第一位, 表示秒, 取值是0 ~ 59

第二位, 表示分. 取值是0 ~ 59

第三位, 表示小時, 取值是0 ~ 23

第四位, 表示天/日, 取值是0 ~ 31

第五位, 表示月份, 取值是1 ~ 12

第六位, 表示星期, 取值是1 ~ 7, 星期一,星期二…, 還有 1 表示星期日

第七位, 年份, 可以留空, 取值是1970 ~ 2099

cron中,還有一些特殊的符號,含義如下:

(*) 星號,可以理解為每的意思,每秒、每分、每天、每月、每年…。

(?)問號,問號只能出現在日期和星期這兩個位置,表示這個位置的值不確定,每天 3 點執行,因此第六位星期的位置,是不需要關注的,就是不確定的值;同時,日期和星期是兩個相互排斥的元素,通過問號來表明不指定值,比如 1 月 10 日是星期一,如果在星期的位置另指定星期二,就前後衝突矛盾了。

(-)減號,表達乙個範圍,如在小時欄位中使用「10 - 12」,則表示從 10 到 12 點,即 10、11、12。

(,)逗號,表達乙個列表值,如在星期欄位中使用「1,2,4」,則表示星期

一、星期

二、星期四。

(/)斜槓,如 x/y,x 是開始值,y 是步長,比如在第一位(秒),0/15 就是從 0 秒開始,每隔 15 秒執行一次,最後就是 0、15、30、45、60,另 */y,等同於 0/y。

舉幾個例子熟悉一下:

0 0 3 * * ? :每天 3 點執行;

0 5 3 * * ?:每天 3 點 5 分執行;

0 5 3 ? * *:每天 3 點 5 分執行,與上面作用相同;

0 5/10 3 * * ?:每天 3 點的 5 分、15 分、25 分、35 分、45 分、55分這幾個時間點執行;

0 10 3 ? * 1:每週星期天,3 點 10 分執行,注,1 表示星期天;

0 10 3 ? * 1#3:每個月的第三個星期,星期天執行,# 號只能出現在星期的位置。

基本上springboot自帶的定時就是這麼簡單了.

定時器 sched模組

import sched import time from datetime import datetime 初始化sched模組的scheduler類 第乙個引數是乙個可以返回時間戳的函式,第二引數可以在定時未到達之前阻塞 schdule sched.scheduler time.time,tim...

Quartz的定時器

quartz在指定的時間執行 很強大的 定時執行機制 1 定義上班鬧鐘定時類 如下 package timer 開始上班,這個程式要求每天 非週末 早晨八點需要啟動一次 author sam public class startworkjob 看到了嗎,這個類 startworkjob 並沒有繼承任...

Java定時器和Quartz

自定義乙個定時器 author lw public class mytimer extends thread override public void run catch interruptedexception e send 開始執行任務 public void execute 定時任務 priv...