节点计划不适用于 Express 应用程序

舒班卡尔·阿格拉瓦尔

我正在尝试向我的快速打字稿应用程序添加一个调度程序,我的代码如下:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么 CORS 不适用于我的 express/react 应用程序?

来自本地存储的外部 CSS 或资产不适用于节点应用程序

气流调度程序不适用于每月作业计划

节点/ Express应用程序查找onhashchange事件处理程序

TabPane 不适用于我的应用程序

应用程序图标不适用于 Snap 打包

POST 方法不适用于 Flask 应用程序

VSCode调试不适用于NodeJs应用程序

Docker发布不适用于golang应用程序

Itunes应用程序链接不适用于WkWebview

自然滚动不适用于某些应用程序

Github提交不适用于桌面应用程序

简单搜索不适用于 rails 应用程序

持续导出不适用于反应应用程序

ControllerExceptionHandler 不适用于 Spring Boot 应用程序

HTTPS请求不适用于android应用程序

SSH -X不适用于特定应用程序

烧瓶路线不适用于gae应用程序

getExpoPushTokenAsync 不适用于独立应用程序

Azure Traffic Manager在标准S1上不适用于Web应用程序:小型计划

适用于Windows的Visual Studio Express 2013-开发Windows Phone应用程序-是否仅需要这些?

在Express节点应用程序中使用connect-livereload

我的应用程序不适用于 Marshmallow 但适用于 Nougat?

如何发布仅适用于iPhone而不适用于iPad的应用程序?

IMAPFolder getSortedMessages 不适用于 Liferay/Tomcat 但适用于常规 Java 应用程序

AppIndicators不适用于电子应用程序(适用于Linux的Skype,Discord等)

API适用于Java应用程序,但不适用于JavaFX

应用程序适用于 iphone 11 但不适用于 iphone 8

我的 recyclerView 适用于调试,但不适用于“运行应用程序”