Запускайте cron в 11:30 утра попеременно

Мне нужно задание cron для NodeJS, которое будет выполняться в 11:30 попеременно. Я искал, но получаю решения только на день, а не на каждый день.

Предлагается ChatGPT

const isAlternateDay = () => {
  const today = new Date();
  const day = today.getDate();
  // For example, consider odd days as alternate days
  return day % 2 !== 0;
};

// Schedule the cron job for 11:30 AM every day
cron.schedule('30 11 * * *', () => {
  if (isAlternateDay()) {
    console.info('Running cron job on an alternate day at 11:30 AM');
    // Your task logic here
  }
});

Но я хочу сделать это, используя сам cron; Я не хочу добавлять внешнее условие.

🤔 А знаете ли вы, что...
Node.js имеет интегрированный менеджер пакетов npm для управления зависимостями.


50
1

Ответ:

Решено

Чтобы запланировать задание cron, которое будет выполняться в разные дни в 11:30, вы можете использовать следующее выражение cron:

// Schedule a task to run alternative days at 11:30 AM
cron.schedule('30 11 */2 * *', () => {
  console.info('Running a task alternative days at 11:30 AM');

});

Объяснение:

  • 30 указывает минуту (30-ю минуту).
  • 11 указывает час (11 утра).
  • */2 указывает каждые 2 дня.