使用 fastify 运行 cron 作业的最佳方式

问题描述 投票:0回答:1

我一直在使用

fastify-cron
来通过我的 fastify4 应用程序运行 cron 作业。但是,旧的 fastify-cron
 插件似乎不再与 fastify5 兼容。定期运行 fastify 路线(每天一次或每周一次)的推荐方法是什么(如果有)?

cron fastify
1个回答
0
投票
您可以使用

@fastify/schedule

,一个核心 
Fastify 插件(意味着 Fastify 团队维护它),支持创建 cron 风格的调度任务。

请参阅下面的代码示例,了解运行每 5 秒向控制台打印一条消息的任务:

import Fastify from "fastify"; import { fastifySchedule } from "@fastify/schedule"; import { CronJob, AsyncTask } from "toad-scheduler"; const app = Fastify({ logger: true, }); const task = new AsyncTask("simple task", async (taskId) => { console.log(`this is ${taskId} that runs every 5 seconds`, Date.now()); }); const job = new CronJob( { cronExpression: "*/5 * * * * *", // Runs every 5 seconds }, task ); app.register(fastifySchedule); // `fastify.scheduler` becomes available after initialization. app.ready().then(() => { app.scheduler.addCronJob(job); }); app.listen({ host: "0.0.0.0", port: 3000 });
    
© www.soinside.com 2019 - 2024. All rights reserved.