Cron 觸發器及相關內容 第一部分

2021-07-27 02:02:10 字數 2183 閱讀 2287

我們在上章中有承諾過會花更多時間來講 quartz 的 crontrigger,所以不會讓你失望的。******trigger 對於需要在指定的毫秒處及時執行的作業還是不錯的,但是假如你的作業需要更複雜的執行計畫時,你也就要 crontrigger 給你提供更強更靈活的功能。

一. cron 的快速一課

cron 這一觀念是來自於 unix 世界。在 unix 中,cron 是乙個執行於後台的守護程式,它負責所有基於時間的事件。儘管 quartz 除相同的名字和相似的表示式語法外,並未分享到 unix cron 別的東西,我們還是值得花幾個段落去理解 cron 背後的歷史。我們這裡的目標不是搞混 unix cron 表示式和 quartz 的 cron 表示式,但是你應該了解 quartz 表示式的歷史,並探索為什麼他們運作起來很像。這兒明顯有許多有意圖的相似性。

有許多不同版本的 unix cron

你會發現不同版本的 cron,每一種都有些微地差異。我們僅著眼於與 quartz crontrigger 的比較,因此我們只討論不同版本 unix cron 共性的東西。

unix cron 守護程序每隔一分鐘被喚醒一次去檢查叫做 crontabs 的配置檔案。(crontab 是 cron 和 table 的連寫,其中配置有 cron 守護程序的作業列表和其他的指令。)守護程序檢查儲存在 crontabs 中的命令並決定是否有要執行的任務。

·unix cron 的格式

你可以認為 unix crontab 是 trigger 和 job 的組合,因為它們同時列出來執行計畫和要執行的命令(job)。

cron expression 的格式

crontab 格式包含六段,前五段為執行計畫,第六段為要執行的命令。(quartz cron 表示式有七段。) 下面這些是執行計畫的五個字段:

·分 (00-59)

·時 (00-23)

·日 (1-31)

·月 (1-12)

·周 (0-6 或 sun-sat)

unix cron 格式表示式中允許出現一些特殊的字元,例如星號(*),它用來匹配所有值。這作有乙個 unix crontab 的例子:

0 8 * * * echo "wake up" 2>$1 /dev/console

這一 crontab 條目在每天早上8點列印字串 "wake up" 到 unix 的設定 /dev/console 上。圖 5.1 顯示了這個動作。

unix cron 執行 0 8 * * * echo "wake up" 2>$1 /dev/console  表示式

2. 使用 quartz crontrigger

在現實世界裡,作業計畫通常比 ******trigger 能支援的複雜得多。crontrigger 就可用於指定非常複雜的計畫,這種計畫不錯,因為也是我們發現需要這麼做的。在我們深入到 crontrigger 之前,讓我們先看乙個例子。** 5.1 所示的是乙個使用 crontrigger (連同乙個 quartz cron 表示式) 來部署前面例子中的 printinfojob。**中的大部分內容與前面章節的例子相同。唯一不同點是我們使用了 crontrigger 替代了 ******trigger。正因為如此,我們不得不為它提供了乙個 cron 表示式。

** 5.1. 簡單使用 crontrigger 來部署乙個 job

public class listing_5_1   

public void runscheduler() catch (parseexception ex)   

} catch (schedulerexception ex)   

}  

}  public class listing_5_1 public void runscheduler() catch (parseexception ex) } catch (schedulerexception ex) } }

** 5.1 中的例子使用了如下 cron 表示式:

0 30 7 ? * mon-fri

當被排程器解釋後,它會引起 trigger 在星期一至星期五的早上 7:30 被激發。讓我們來看看 quartz crontrigger 的 cron 表示式的格式。

Http請求過程及相關內容

http協議 該協議是超文字傳輸協議,是web聯網的基礎,是建立與tcp協議之上的一種應用,屬於tcp ip 模型中的應用層協議。注釋 在http1.0版本中,客戶端的每次請求都會建立一次單獨的連線,在處理完本次請求後,將自動釋放連線 而在http1.1版本中,一次連線可處理多個請求,並多個請求可重...

Oracle DB 優化 AWR及相關內容

1.生成awr報告 su oracle cd oracle home rdbms admin sqlplus as sysdba sql awrrpt 選擇html,儲存時檔名要帶上html的字尾,否則系統工會預設加上lst的字尾。awr報告生成在當前路徑。2.生成awr比較報告 sql awrdd...

bt tracker伺服器 相關內容

dht網路 中心伺服器 bt伺服器 bittorrent metadata version 1.0 name bittorrent version 3.9.1 summary unknown home page author bram cohen author email license bitto...