У меня есть следующий сервер 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
)
);