Предотвратить несколько экземпляров Node Express - PullRequest
0 голосов
/ 04 сентября 2018

Это сервер Windows с IIS и IISNODE (если это актуально).

У меня есть следующий код в 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, которые запускаются только один раз.

Как я могу убедиться, что все работает только один раз?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...