防止多个Node Express实例

时间:2018-09-04 15:07:35

标签: node.js express

这是具有IIS和IISNODE(如果相关)的Windows服务器。

我在app.ts中有以下代码(简体)

import * as express from "express";
import log from "../util/log";

class App {
    public express: express.Application;

    constructor() {
        this.express = express();
        log.default.info("starting app");
        this.middleware();
    }

    private middleware(): void {
        log.default.info("starting middleware");
        this.express.use((req: IRequest, res: express.Response, next: express.NextFunction) => {
            this.getAllClientConfigurations(req, res, next);
        });

    etc.....

在IIS中重新启动站点,然后按请求将其命中时,它将在由日志脚本生成的日志文件中生成两条“正在启动应用程序”的记录

这将导致两次调用middleware()函数。在中间件函数内部,我调用了另一个函数,该函数设置一些客户端变量并启动一些仅运行一次的基本Cron服务。

如何确保所有内容只能运行一次?

0 个答案:

没有答案