Рубрики
Uncategorized

Использование планировщика задач Windows для автоматизации сценариев Nodejs

Это сообщение об использовании планировщика задач Windows для автоматизации выполнения сценариев NODEJS и OT … Теги с DevOps, узел, учебником.

Это сообщение об использовании планировщика задач Windows для автоматизации выполнения сценариев NODEJS и других задач на основе NPM/Yarn. Если вы не используете Windows, этот пост, вероятно, не для вас (Но не стесняйтесь читать в любом случае 🤷 ♀️)

Тонны причин! Может быть, вы пытаетесь эмулировать производственную среду, которая имеет Nodejs Scripts в качестве запланированных задач Cron. Или, для вашей собственной производительности или веселья, вы хотите, чтобы сценарировать вещи, которые произойдут на основе окна событий.

Например, вы можете написать сценарий NODEJS, который разговаривает с вашим трекером проекта Choice через API и останавливает любые таймеры выполнения при замке компьютера, чтобы сделать перерыв.

Почему бы не просто использовать Crontab под WSL?

Хороший вопрос! Если у вас установлен WSL ( подсистема Windows для Linux ), а вы Только хочу вызвать действия в зависимости от времени Тогда вы должны полностью дать Crontab под WSL выстрел!

Хотя раньше были проблемы с этим (в прошлых версиях, WSL, используемые для утракивания фоновых задач, когда вы закрыли консоль), я просто дал ему выстрел и имел успех. Если есть интерес, я мог бы сделать отдельный пост о том, как настроить Crontab под WSL.

Однако планировщик задач все еще имеет значение как отдельный инструмент, поскольку больше, чем просто время можно использовать в качестве триггера ; Вы можете выполнять задачи на основе компьютера разблокировки, энергопотреблениями и многое другое. Вы не можете сделать это с Crontab.

Шаги:

  1. Найдите, где хранятся двоичное/приложение, которое вам нужно запустить
    • Вы можете использовать Где НПМ или Где пряжа из командной строки, чтобы найти путь

      • Пример: мой путь пряжи — C: \ Program Files ( x86) \ пряжа \ bin \ yarn.cmd
  2. Открыть Планировщик задач (Поиск в программах или Win + R, taskschd.msc )
  3. Начните процесс создания задач, нажав «Создать базовую задачу» или «Создать задачу» в боковой панели
  4. Выбирать триггер
    • » По расписанию «(как Cron)
    • » В журнал «
    • И т.п.
  5. Добавьте свое действие : Действие -> Начать программу

    • «Программа/сценарий»:
      • Вот где вы подключаете путь к приложению, который вы нашли на шаге 1
    • «Добавить аргументы» — вы должны поставить все, что вы поставили после NPM или пряжа как обычно.

      • Если обычно выполняется NPM запустить myscheduledtask , вы бы хотели аргументы быть запустить myscheduledtask.
    • Если вы звоните в Скрипты Вход в package.json Файл, вам нужно сказать планировщику, чтобы запустить это, где ваш package.json файл находится.

      • При использовании пряжи вы можете пройти рабочий каталог через args, с CWD Отказ
      • В противном случае используйте Начать (необязательно) поле для указания каталога

Если вы обеспокоены отслеживанием результатов того, что побежали, вы также можете захватить результат чего-либо, вытесните на консоль, используя >> task_log.txt или что-то подобное.

👩🍳 — вы можете объединить действия и триггеры

Одна приятная особенность задач планировщика о том, что я не заметил сразу, так это то, что оно не должно быть отображением 1: 1 для триггера.

Например, вы можете группировать десять различных действий в одной задаче с общим триггером.

✨ — вы можете использовать Git Bash для более продвинутых сценариев

Вместо того, чтобы нацелить NPM, пряжу или Windows CMD, если у вас есть Git Bash (поставляется упакованы с Git для Windows ), вы можете это как целевую «программу/сценарий», а затем выполнить более продвинутую команду, которая использует Некоторые инструменты Bash. Например, образец задачи, которая выполняет некоторые резервные копии для проекта, может выглядеть:

  • «Программа/сценарий»: C: \ Файлы программы \ git \ git-bash.exe
  • «Добавить аргументы»: CD C:/Проекты/My-ProJ && NODE Prep-Dirs.js && NPM Запуск Backup >> Backup_log.txt

💥 -% 1 не является действительным приложением Win32

Если вы видите эту ошибку, вы, вероятно, выбрали неправильное приложение в качестве Программа/скрипт выполнить. Например, используя /пряжа вместо того Yarn.cmd приведет к этой ошибке.

⚙ — остановить окно cmd от появления

Если окно «Черное окно команда Windows» продолжает появляться всякий раз, когда ваши задачи выполняются, вам необходимо изменить одну из основных настроек:

  • Изменить варианты безопасности на: Запустить, вошел ли пользователь или нет

    • Вы, вероятно, также захотите проверить Не храните пароль

Там нет вреда в том, чтобы он появился; Но это может быть раздражать, если ваша задача запланирована запускать часто.

⏰ — Как планировать чаще, чем каждые 5 минут

Возможно, вы уже заметили, что самый маленький интервал, который появляется в повторить задание каждый Продолжительность Picker, при настроек триггера, это 5 минут Отказ Ох!

На самом деле, это простое исправление — вы можете на самом деле ввести пользовательский интервал в этой коробке! Так что, если вы хотите вступление, которая эквивалентна Крону * * * * * (Каждую минуту), просто введите в коробку 1 минута и установить В течение длительности к Бесконечно Отказ

Вот что похоже:

Поскольку это, вероятно, будет придумать в комментариях (я уже могу услышать раздражающий ответ; «Почему вы не используете реальную операционную систему? ржу не могу!» ) — Да, планировщик задач не является идеальной заменой для Cron в Windows. Но это на самом деле не значит быть, и этот пост не защищается как таковой либо.

Плюс, ты может Используйте Crontab под WSL теперь (см. Мое записку под «Почему?»).

Я надеюсь, что это было полезно! Это немного отличается от того, о чем я обычно пишу, но чувствовал себя вынужденным опубликовать его, так как у меня были проблемы с поиском существующих ресурсов по теме.

Оригинал: «https://dev.to/joshuatz/using-windows-task-scheduler-to-automate-nodejs-scripts-1lm3»