cron模塊可以幫助我們在node中定時執行任務。如果你的定時需求是簡單的setInterval()與setTimeout()計時器所無法滿足的比較復雜的定時規則,推薦使用cron來配置。
安裝cron模塊
npm install cron
代碼中啟動一個任務
new cronJob('* * * * * *', function () { //需要定時執行的任務代碼寫在這里 }, null, true);
其中第一個參數'* * * * * *'為cron表達式。
例如
- '* * * * * *' 為每秒鍾執行一次;
- '*/30 * * * * *'為每30秒執行一次,會在每分鍾的0秒和30秒執行;
- '* */30 8-18 * * *'每天的8點到18點的0分和30分執行;
- '* 15 10,18 * * *'每天的10點15分和18點15分執行。
以此類推,更多規則案例可以通過搜索引擎搜索cron表達式的用法。
【注意】cron表達式是比較通用的一種定時任務的時間表示法。但是經過嘗試,略有不同,在此記錄:
- 通用的cron表達式最后一個參數“星期”的表示法為Mon Tue Fri等三位英文,而node中的這個cron模塊星期的表示法為0-6(分別表示周日-周六)
- 通用的cron表達式星期和日期沖突,其中一個寫為“?”,而node中的這個cron模塊,仍然寫為“*”。