Node.js: Cron 工作
在 Node.js 中使用 cron 工作有效地自動化任務
👋 歡迎來到 Stackhero 文檔!
Stackhero 提供即用型的 Node.js 雲端 解決方案,帶來多項優勢,包括:
- 只需一個簡單的
git push,即可在幾秒鐘內 部署您的應用程式。- 使用您自己的域名,並享受 HTTPS 證書的自動配置以增強安全性。
- 享受自動備份、一鍵更新,以及簡單、透明且可預測的定價,讓您高枕無憂。
- 憑藉專用的私人 VM,獲得最佳的性能和強大的安全性。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Node.js 雲端託管 解決方案!
在開發 Node.js 應用程式時,自動化重複性任務如發送排程電郵、清理過期數據或進行定期維護,可以顯著提高效率和擴展性。cron 模組可在 npm 上獲得(cron 模組在 npm),提供了一種簡單而有效的方法來實現這種自動化。
注意:雖然
node-cronnpm 模組是另一個可用的 cron 任務工具,但本指南專注於cron模組及其實施。
開始使用
要在您的專案中使用 cron 模組,請執行以下命令將其作為依賴項包含:
npm install cron
模組安裝完成後,您可以開始在應用程式中排程和管理 cron 工作。以下是一個實用的例子:
const cron = require('cron');
const cronJobs = [];
// 優雅地處理應用程式關閉,停止所有排程的 cron 工作。
// 當部署新代碼或關閉應用程式時,會發送終止信號(SIGTERM)。
// 這確保應用程式在退出前停止所有正在運行的 cron 工作。
process.on('SIGTERM', () => {
cronJobs.forEach(cronJob => cronJob.stop());
});
// 排程一個每秒執行的 cron 工作。
cronJobs.push(
new cron.CronJob(
'* * * * * *', // 排程:每秒
() => {
console.log("此訊息將每秒出現。");
},
null,
true
)
);
// 排程一個每分鐘執行的 cron 工作。
cronJobs.push(
new cron.CronJob(
'0 */1 * * * *', // 排程:每分鐘
() => {
console.log("此訊息將每分鐘出現。");
},
null,
true
)
);
理解 cron 語法
cron 模組使用標準 UNIX cron 語法來定義排程。以下是一些常見的例子:
- 每秒:
* * * * * * - 每 30 秒:
*/30 * * * * * - 每 10 分鐘:
0 */10 * * * * - 每 2 小時:
0 0 */2 * * *
其他資源
您現在已準備好在 Node.js 應用程式中使用 cron 模組自動化任務。欲獲取更詳細的信息和範例,請訪問官方 cron 模組存儲庫並查看範例目錄。