Node.js: Cron 任务
使用 cron 任务在 Node.js 中有效地自动化任务
👋 欢迎使用 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 * * *
其他资源
您现在可以使用 cron 模块在 Node.js 应用程序中自动化任务。有关更详细的信息和示例,请访问官方 cron 模块库并查看示例目录。