Как сделать, чтобы каждый 00:00 вызывалась функция?

Для того чтобы в Node.js вызывать определенную функцию каждый раз в полночь (00:00), вы можете использовать модуль "node-cron". Данный модуль позволяет легко планировать выполнение задач на основе стандартного синтаксиса cron.

Чтобы начать, установите модуль "node-cron", используя npm, командой:

npm install node-cron

После успешной установки, вы можете создать файл JavaScript, например "scheduler.js", и импортировать модуль "node-cron":

const cron = require('node-cron');

Теперь вы можете определить функцию, которую нужно выполнить каждый раз в полночь:

function callFunction() {
  // Ваш код, который нужно выполнить в полночь
  console.log('Функция вызвана в полночь');
}

Затем используйте функцию cron.schedule() для запуска планировщика задач. В качестве первого параметра передайте строку со временем, в которое функция должна быть вызвана, используя формат '* * * * *'. Например, для вызова функции каждый день в полночь, вы можете использовать '0 0 * * *'. В качестве второго параметра передайте функцию, которую нужно вызвать:

cron.schedule('0 0 * * *', callFunction);

Чтобы позволить программе работать постоянно и вызывать функцию каждый раз в полночь, вы можете добавить в конец файла следующий код:

setInterval(() => {
  console.log('Система работает');
}, 1000);

process.on('SIGTERM', () => {
  console.log('Система завершила работу');
  process.exit(0);
});

Этот код запускает бесконечный цикл, который выводит сообщение каждую секунду, чтобы показать, что программа продолжает работать. Также он прослушивает событие 'SIGTERM', чтобы завершить работу программы при получении этого сигнала.

Теперь запустите ваш файл scheduler.js, и каждый день в 00:00 функция callFunction будет вызываться автоматически. Вы можете проверить это, наблюдая вывод в консоли.