我正在尝试向我的快速打字稿应用程序添加一个调度程序,我的代码如下:
app.ts(定义了端口和主机)
import express from "express";
import { createServer } from "http";
import { testTask } from "./task/updatePairsTask";
import router from "./api/router";
const app = express();
app.use(express.json());
app.use("/", router);
const httpServer = createServer(app).listen(PORT, HOST, () => {
console.log(`Started server at ${HOST}:${PORT}`);
});
我在这里定义了我的工作:在 updatePairsTask.ts
import schedule from "node-schedule";
export const testTask = schedule.scheduleJob("/1 * * * * *", () => {
console.log("Words");
});
我认为这应该使调度程序每隔一秒打印一次到控制台,但是一旦应用程序启动超出“已启动服务器”消息,似乎没有任何打印。
你能帮忙吗?
谢谢。
您可以使用此包以非常简单的方式操作 Cron 任务。
您可以使用此网站获取 cron 计划表达式。
import express from "express";
import { createServer } from "http";
import { testTask } from "./task/updatePairsTask";
// import CronJob from "cron"; // npm i cron
const CronJob = require("cron").CronJob
import router from "./api/router";
const app = express();
app.use(express.json());
app.use("/", router);
const job = new CronJob({
cronTime: '* * * * * *',
onTick: function () {
testTask()
},
start: false,
timeZone: 'Asia/Kolkata'
})
job.start()
const httpServer = createServer(app).listen(PORT, HOST, () => {
console.log(`Started server at ${HOST}:${PORT}`);
// you can also put job.start() here.
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句