node-cron

前言

一個網站通常會因為需要將資料在到達特定的時間時要將數據做改變,而不是用人為去變動的時候,就會使用到 node-scheduler 這類的行程安排的工具。

這個 連結 中,比較了四個較多人使用的同類型工具,看起來都非常的有趣。

不過這次使用的是較為年輕且輕量的 node_cron 套件,就可以完成我們這次的專案練習。

步驟

安裝

node_cron

npm i node-cron

引入使用

const cron = rerquire('node-cron')

cron.schedule('* * * * * * ', () => {
console.log('running a task every minute');
});

設定

在使用的設定上簡單易懂 schedule 上的 * ,代表不同的單位可以去設定。官方文件也寫得非常的清楚容易明白,由左至右從 月份,第六個 * 表示 day of week,以 0-7 表示, 0 和 7 卻也同樣的表是為星期日是需要特別注意。

github 的 readme 中有更多的針對時間詳細設定

如果要持續一段時間可以設置

cron.schedule('1-5 * * * *', () => {
console.log('running every minute to 1 from 5');
});

如果要每隔一段時間執行一次可以這樣設置

cron.schedule('*/2 * * * *', () => {
console.log('running a task every two minutes');
});

結論

在使用上真的省去很多煩惱,非常快速的就完成了設置。
順帶一提的是,在我的使用習慣上,會先在專案另外開一個目的地的檔案夾以及設置檔案,接著在 app.js 中 require(‘目的地檔案’)。