如何让node-cron仅执行一次?实现10分钟后单次输出'hi'
使用node-cron实现10分钟后单次执行任务
要实现10分钟后在控制台输出hi且仅执行一次,你可以通过以下步骤用node-cron完成:
- 首先安装node-cron依赖:
npm install node-cron
- 编写核心代码,关键是计算执行时间+执行后立即停止任务,避免重复触发:
const cron = require('node-cron'); // 计算10分钟后的时间点 const targetTime = new Date(Date.now() + 10 * 60 * 1000); // 调度任务 const singleTask = cron.schedule(targetTime, () => { console.log('hi'); // 任务执行后立即停止,确保只运行一次 singleTask.stop(); });
补充说明:
- node-cron的
schedule方法支持直接传入Date对象,无需手动编写复杂的cron表达式,时间计算更精准。 - 必须调用
task.stop():如果仅依赖时间匹配,若后续有相同时间点(比如次日同一时刻),任务会再次触发,执行后停止是保证单次执行的关键。
内容的提问来源于stack exchange,提问作者CK_Gamer
相关产品推荐
相关产品推荐

