Cron — запускайте каждый год один раз в январе 1 00:00 или 12:00 утра

#node.js #cron

#node.js #cron

Вопрос:

Я использую npm i cron для запуска расписания cron в node.js . Я хочу запускать расписание каждое начало года в 12:00, т.Е. 1 января каждый год один раз в 12:00. Как я могу заставить его работать? Кто-нибудь может помочь, пожалуйста.

Комментарии:

1. https://crontab.guru/#0_12_1_1_ * может быть, это вам поможет.

Ответ №1:

Вы должны быть в состоянии использовать приведенный ниже код для этого. Когда скрипт запустится, он распечатает следующие 10 дат, в которые будет выполняться задание:

 const CronJob = require("cron").CronJob;

const cronExpression ="0 0 1 JAN *";

const cronJob = new CronJob(
    cronExpression,
    cronFunction
);

function cronFunction() {
    console.log("cronFunction: Running....");
    // Add whatever you wish here...
}

// Print out the next dates the job will run
const nextDates = cronJob.nextDates(10);
console.log("Next dates the job will run on:", nextDates.map(d => d.format("YYYY-MM-DD HH:mm")));

cronJob.start();
 

Вывод должен выглядеть так:

 Next dates the job will run on: [
  '2022-01-01 00:00',
  '2023-01-01 00:00',
  '2024-01-01 00:00',
  '2025-01-01 00:00',
  '2026-01-01 00:00',
  '2027-01-01 00:00',
  '2028-01-01 00:00',
  '2029-01-01 00:00',
  '2030-01-01 00:00',
  '2031-01-01 00:00'
]