Должен ли я запускать node-cron как часть api-сервера nodejs или как сервер другого узла - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть следующий сервер api узла, к которому я добавил работу node-cron, чтобы периодически отправлять электронные письма некоторым пользователям один раз в день. Код работает, однако мне было интересно, если я столкнусь с некоторыми проблемами с производительностью.

Было бы лучше иметь задание cron как часть другого сервера?

Как работает задание cron за кулисами? Поможет ли это ключевое слово async

Есть ли какие-либо недостатки в том, как я это реализовал сейчас? Может ли быть так, что работа cron занимает слишком много времени и веб-запросы будут иметь проблемы?

    const express = require('express');
    const cron = require("node-cron");
    const mongoose = require("mongoose");
    const connectDB = require('./config/db');

    const app = express();

    // Connect to database
    connectDB();

    // Schedule tasks to be run on the server
    // second(optional) minute hour dayOfMonth month dayOfWeek
    cron.schedule('10 17 * * *', () => {
      // get some users from the database and send them emails
    });

    ...(other node api server stuff)

    const server = app.listen(
      PORT,
      console.log(
        `Server running in ${process.env.NODE_ENV} mode on port ${PORT}`.yellow.bold
      )
    );
...