DevGang
Авторизоваться

Планирование задач в NodeJS с помощью cron job 

Cron утилита командной строки, также известный как cron job,  является планировщик заданий на Unix-подобной операционной системы. Пользователи, которые настраивают и обслуживают программные среды, используют cron для планирования заданий (команд или сценариев оболочки), которые должны выполняться периодически в фиксированное время, даты или интервалы. Обычно он автоматизирует обслуживание или администрирование системы, хотя его универсальный характер делает его полезным для таких вещей, как загрузка файлов из Интернета и загрузка электронной почты через регулярные промежутки времени.

Задание cron определяется с помощью ряда звездочек (*****), которые обозначают различное время, указанное ниже.

# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday)
# │ │ │ │ │                                   
# │ │ │ │ │
# │ │ │ │ │
# * * * * *

Это очень полезно, когда вы выполняете повторяющиеся задачи, которые можно выполнять программно, например, очищать журналы, регулярно загружать файлы из Интернета или регулярно отправлять SMS своему супругу с помощью Love SMS API **** 😓

Примеры cron-job в системе GNU

Следующая команда запускает файл сценария ./clean_file.sh регулярно в 1 минуту после полуночи каждый день.

1 0 * * * ./clean_file.sh

Еще примеры обозначения заданий cron

  1. 45 23 * * 6 - работает по субботам в 23:45
  2. 0 0 25 12 * - работает в полночь 25 декабря (Рождество)
  3. 0 0 * * * - работает ежедневно в полночь
  4. * * * * * - работает каждую минуту
  5. * 10,14 * * *- работает ежедневно в 10:00 и 14:00
  6. 0 0 14 2 * - работает каждые 14 дней февраля и в полночь.

Чтобы использовать нотацию cron для планирования задач в нашем приложении, мы установим пакет node-cron, выполнив приведенную ниже команду в нашем терминале.

npm install node-cron 

Bree - еще один пакет с поддержкой рабочих потоков и синтаксиса cron. Но в этой статье мы остановимся на node-cron. Итак, давайте запустим простой пример:

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

cron.schedule('* * * * *', () => {
  console.log('running a task every minute');
});

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

Работает в фоновом режиме

В Linux вы можете запускать программу в фоновом режиме, используя знак амперсанда & после команды:

node app .js &

И используйте команду jobs, чтобы увидеть запущенные процессы в фоновом режиме.

Аналогичная команда в Powershell известна как Start-Job.

Спасибо, что прочитали, надеюсь, вам понравилась эта статья 🤗

#JavaScript
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

В подарок 100$ на счет при регистрации

Получить