spring Quartz spring定時任務

2021-07-25 09:54:27 字數 1101 閱讀 9003



乙個quartz的crontrigger表示式分為七項子表示式,其中每一項以空格隔開,從左到右分別是:秒,分,時,月的某天,月,星期的某天,年;其中年不是必須的,也就是說任何乙個表示式最少需要六項。

例:0 0 12 ? * wed 表示每個星期三的12點執行,這裡沒有「年」這項。

先看示列:"0 0/30 8-10 5,20 * ?" 表示「每個月的5日和20日的8:00,8:30,9:00,9:30,10:00,10:30」

字元解釋:

,:與,表式","兩邊的值都是需要執行的時間,如上例"5,20",每個月的5日與20日。

-:表示值的範圍,如上例"8-10",從8點開始到10結束,包括8點與10點。

*:表式任意可合法的值,如上例"*"是處於月份的字段,所以代表1-12中的任意值,所以上例是指「每個月」。

/:增量,如上例是指從0分開始,每過30分鐘取一次值。如果換成"5/8"就是從第5鐘開始每過8分鐘取一次值:8:05,8:13,8:21,8:29等等

?:不指定值,就是「我也不知道」的意思,只能出現在「月的某天,星期的某天」項中。在什麼情況下用呢?如上例如果指定值為星期一,那麼可能會出現如4月5日不是星期一,這裡就是不對應,有衝突,所以指定為"?",也就是說我也不知道是星期幾,只要是5日與20日就行了,至於是星期幾我才不管呢!

l:最後的,last的意思,只能出現在「月的某天,星期的某天」項中。表示當前月或當前星期的最後一天,注意的是星期的最後一天為星期六。

w:月中最接近指定日期的普通日(星期一到星期五),只能出現在「月的某天」,如"15w"就是說當前月最接近15日的普通日,如果當月的15是星期三就是星期三,如果當月的15是星期六那麼就是昨天也就是星期五,如果當月的15是星期天則為第二天也就是星期一。

#:當前月的第n個星期x日,只能出現在「星期的某天」項中。如"6#3"就是說當前月的第三個星期五,注意"1-7",1=星期天,2=星期一 等等。

<?xml version="1.0" encoding="utf-8"?>

"xmlns:xsi=""

xsi:schemalocation="

/spring-beans-4.0.xsd">

pushtimes

0 0/1 * * * ?

linux定時任務 at定時任務

at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...

CronTrigger spring定時任務

crontriggers往往比 trigger更有用,如果您需要基於日曆的概念,而非 trigger完全指定的時間間隔,的發射工作的時間表。crontrigger,你可以指定觸發的時間表如 每星期五中午 或 每個工作日9 30時 甚至 每5分鐘一班9 00和10 00逢星期一上午,星期三星期五 即便...

python APScheduler定時任務排程

apscheduler的安裝 pip install apscheduler apscheduler是乙個python的第三方庫,用來提供python的定時任務排程。包含四個元件,分別是 triggers 任務觸發器元件,提供任務觸發方式 job stores 任務儲存元件,提供任務儲存方式 exe...