术语图鉴/后端基础/定时任务
←→切换Esc返回

定时任务 Cron Job

你可能会说

这个定时任务的逻辑我不太懂,帮我解释一下然后实现它。

按固定时间自动执行的任务。

按固定时间自动执行的任务。比如每天凌晨 3 点备份数据库、每小时清理过期缓存。

也常被叫作Cron Job

生活类比

像手机闹钟——设好时间,到点自动响,不用你盯着看。

🎮 动手试试

⏰ 每天 9:00
选择题选择一个你认为最合适的答案

关于「定时任务」,以下哪个描述最准确?

你可以这样告诉 AI

帮我写一个定时任务:每天凌晨 2 点清理过期 30 天的日志,每周一早上 8 点发运营数据汇总邮件。

容易混淆?这样区分

定时任务 Cron Job≠
消息队列 Message Queue

定时任务按时间触发(每天 3 点执行),消息队列按事件触发(有消息就处理)。定时任务适合批处理,消息队列适合实时异步解耦。

什么时候用

周期性自动化任务

每天备份数据库、每小时清理过期缓存、每周生成报表等需要定时自动执行的操作,用 Cron 表达式精确控制执行时间。

和 AI 协作时

想让 AI 帮你设定时任务时,直接说「帮我写一个 Node.js 定时任务:每天凌晨 2 点查询过期订单并标记为已取消,用 node-cron 实现」。

什么时候不用

事件驱动的实时场景

用户注册后立即发邮件应该用消息队列实时触发,而不是等定时任务每分钟扫描一次,延迟太高。

与后台任务无关的项目

如果你只做前端页面,没有需要定时执行的服务端脚本,无需了解 Cron。

组成结构 · Anatomy

1
核心概念Core

按固定时间自动执行的任务。比如每天凌晨 3 点备份数据库、每小时清理过期缓存。

2
实际表现In Practice

像手机闹钟——设好时间,到点自动响,不用你盯着看。

3
与 AI 的关联AI Context

和 AI 沟通时提到「加个 cron 每天跑一次」,就是设置定时自动执行的脚本。

典型使用场景

定时自动执行
告诉 AI「帮我写个定时任务,每小时同步一次外部数据到数据库,失败自动重试并发送告警」
想弄懂概念时
告诉 AI「用大白话给我解释什么是定时任务,举个生活中的例子」

延伸阅读