@ fastify/ 时间安排

为定期任务排程快速化插件 。 提供实例 拖放调度器 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}请用钉子.
当固定实例停止时, 工作会自动停止 .
开始
首先安装软件包 :
npm i @fastify/schedule toad-scheduler
接下来,设置插件 :
const fastify = require('fastify')();
const { fastifySchedule } = require('@fastify/schedule');
const { SimpleIntervalJob, AsyncTask } = require('toad-scheduler');
const task = new AsyncTask(
'simple task',
() => { return db.pollForSomeData().then((result) => { /* continue the promise chain */ }) },
(err) => { /* handle errors here */ }
)
const job = new SimpleIntervalJob({ seconds: 20, }, task)
fastify.register(fastifySchedule);
// `fastify.scheduler` becomes available after initialization.
// Therefore, you need to call `ready` method.
fastify.ready().then(() => {
fastify.scheduler.addSimpleIntervalJob(job)
})
关于更详细的指示,见 文档 联 合 国 toad-scheduler。 。 。 .
关于 @fastify/schedule 的常见问题
@fastify/schedule 是什么?
为定期任务排程快速化插件
如何安装 @fastify/schedule?
在项目目录运行 npm install @fastify/schedule,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:toad-scheduler(>=2.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。
@fastify/schedule 支持 TypeScript 吗?
支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。
@fastify/schedule 支持 ESM 还是 CommonJS?
以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。
@fastify/schedule 可以商用吗?
@fastify/schedule 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。
@fastify/schedule 的下载量有多少?
根据 npm 官方下载统计,@fastify/schedule 在 2026/10/15 – 2026/11/13 这 30 天内被下载 237,519 次,日均约 7,917 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。
@fastify/schedule 还在维护吗?
最新版本 7.0.2 发布于 2026/10/19(26 天前);至今共发布 16 个版本,其中过去 12 个月发布了 3 个;首次发布于 2022/05/27。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。