Легко автоматизируйте работу, планируя задачи с помощью Cron Jobs.
Планирование задач может быть удобным способом автоматизации работы, и Cron Jobs — способ сделать это. У всех нас есть одна повторяющаяся задача, которую мы хотели бы выполнять автоматически без ручного вмешательства. Не забывайте: «Это тоже БЕСПЛАТНО».
Задания Cron предназначены для выполнения регулярных запланированных действий, таких как резервное копирование, создание отчетов и т. д. Каждая из этих задач должна быть настроена на бесконечное повторение (например, один раз в день/неделю/месяц); вы можете определить момент времени в пределах этого интервала, когда задание должно начаться.
Что такое задание Cron?
Задание cron — это задача, которая периодически запускается по заданному расписанию, определяемому выражением Cron (* * * * *).
# ┌────────── minute (0 - 59)
# │ ┌────────── hour (0 - 23)
# │ │ ┌────────── day of the month (1 - 31)
# │ │ │ ┌────────── month (1 - 12)
# │ │ │ │ ┌────────── day of the week (0 - 6)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * *
Не беспокойтесь о синтаксисе, мы можем использовать Crontab Guru, чтобы создать его очень легко.
Как настроить работу Cron?
Есть много способов настроить Cron Jobs
на уровне ОС
- Вы можете использовать встроенный Планировщик Windows
- Если вы используете Ubuntu, вы можете использовать Cron Utility.
Но в большинстве случаев вы хотели бы держать его подальше от ОС, и для этого ближе к вашему приложению мы можем использовать
на уровне приложений
- используйте такие пакеты, как Cron, для создания задания cron в вашем приложении NodeJS, но это не может работать в бессерверном стеке.
- использовать бессерверное решение, такое как AWS Lambda, но оно требует много настроек и кредитной карты
- используйте облачные функции Firebase с планированием, это намного проще, чем AWS, но требует кредитной карты.
- используйте инструмент SAAS, такой как EasyCron
Наш победитель (действия GitHub)
Хотя все вышеперечисленное является хорошим решением, самый простой способ сделать это для хобби-проектов — использовать действия GitHub, потому что это
- легко настроить с помощью кода и в сочетании с самим кодом приложения
- бесплатно для публичных репозиториев
- предоставляет до 4000 минут в месяц для частных репозиториев (чрезвычайно трудно использовать)
- позволяет нам создавать неограниченное количество рабочих мест и графиков
Я уверен, что сейчас вы, должно быть, спрашиваете
Как помогают действия GitHub?
GitHub Actions упрощает автоматизацию всех ваших программных рабочих процессов, теперь с помощью CI/CD мирового класса. Создавайте, тестируйте и развертывайте свой код прямо из GitHub. Заставьте проверки кода, управление ветвями и сортировку проблем работать так, как вы хотите. Подробнее о них можно прочитать здесь.
Теперь, чтобы настроить собственное задание Cron с помощью действий GitHub,
- Перейдите в свой репозиторий GitHub (создайте его, если требуется).
- Перейдите на вкладку Действия и создайте новый рабочий процесс действия.
3. Добавьте в него свое расписание Cron и задачу. Зафиксируйте изменение.
# This is a basic workflow to help you get started with Actions name: First Cron Job # Controls when the workflow will run on: # Triggers the workflow every 5 minutes schedule: - cron: "*/5 * * * *" # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # This workflow contains a single job called "cron" cron: # The type of runner that the job will run on runs-on: ubuntu-latest # Steps represent a sequence of tasks that will be executed as part of the job steps: # Runs a single command using the runners shell - name: Run a one-line script run: echo Hello, world!
Это запустит задание, которое будет повторять «Hello, world!» каждые 5 минут.
Перейдите на вкладку «Действия» и дождитесь появления журнала. Когда вы нажмете на любое выполнение, вы увидите такие детали
Вот как вы можете запланировать задание Cron с помощью действий GitHub.
Примечание. Запланированное событие может быть отложено в периоды высокой загрузки рабочих процессов GitHub Actions. Время высокой нагрузки включает начало каждого часа. Чтобы уменьшить вероятность задержки, запланируйте запуск рабочего процесса в другое время часа.
Посмотрите, как задание, запланированное для запуска каждые 5 минут, несколько раз задерживалось. Пожалуйста, помните о том, как вы используете бесплатные ресурсы.
Как использовать задания Cron с действиями GitHub?
Я использую GitHub Actions, чтобы регулярно обновлять свой баннер в Твиттере с последним количеством подписчиков DEV и вехами твитов, такими как 500 просмотров статьи или достижение 100 подписчиков в моей учетной записи DEV.
Вы можете прочитать мои статьи, объясняющие приведенные выше варианты использования, здесь.
Вы можете найти репозиторий GitHub здесь. Не стесняйтесь раскошелиться и использовать для своего профиля.
Добросовестное использование
Хотя действия GitHub бесплатны, мы должны использовать их разумно, чтобы уважать усилия провайдера. В наш век передовых технологий такие гиганты, как GitHub и Vercel, упрощают нам работу, поэтому мы обязаны не злоупотреблять этими инструментами.
Это все на данный момент. Я надеюсь, что вы найдете эту статью полезной! Если у вас есть какие-либо отзывы или вопросы, пожалуйста, не стесняйтесь оставлять их в комментариях ниже, я хотел бы услышать и поработать над ними.
Для большего количества такого контента, пожалуйста, следуйте за мной.
До следующего раза
Первоначально опубликовано на https://theanshuman.dev 7 февраля 2022 г.