Рубрики
Без рубрики

Python crontab – Как работать с Cron в Python?

Давайте сегодня поговорим об интересном модуле планирования – Python crontab. Что-то достойное упоминания было бы то, что поддержка cron совершенно отсутствует в

Автор оригинала: Pankaj Kumar.

Давайте сегодня поговорим об интересном модуле планирования – Python crontab. Следует отметить, что поддержка cron совершенно отсутствует в POSIX, то есть в операционной системе Windows. Таким образом, в примерах в этой статье используется Linux.

Введение в Python crontab

Если вы работали с модулем datetime или модулем sched , можно с уверенностью сказать, что вы хотели запланировать оповещение в какой-то момент времени.

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

Упрощая все это, вы, возможно, пришли к идее или вопросу: Как насчет того, чтобы автоматизировать свою задачу?

Что ж, хорошие новости.

Это легко возможно! cron – это функция, которая позволяет планировать команды и, таким образом, помогает выполнять команды с определенным интервалом или временем.

Что случилось?

Функция, которая существует в UNIX-подобной операционной системе,-это планировщик заданий на основе времени, то есть cron .

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

Синтаксис Python crontab

Для объяснения Cron потребуется целая статья, поэтому вот статья , которая может помочь вам получить представление о том, с чем мы будем здесь работать.

Мы будем работать с crontab, который содержит все задания, которые мы запланировали или собираемся запланировать.

Если вы столкнулись с какой-либо проблемой при создании задачи cron, вам следует попробовать несколько онлайн-инструментов, которые помогут вам разобраться в синтаксисе. Проверьте crontab.guru , чтобы создать свою задачу на случай, если у вас возникнут какие-либо проблемы.

Работа с модулем Python crontab

Модуль python-crontab позволяет значительно упростить процесс создания заданий cron.

Он предоставляет нам простой класс, принимающий прямой ввод, без необходимости работать с синтаксисом cron вообще.

Установка python-crontab

Чтобы работать с cron и crontab в Python, нам сначала нужно установить необходимый модуль, это можно сделать с помощью команды pip package manager в оболочке.

pip install python-crontab

Это должно автоматически установить необходимый модуль, и как только вы закончите с ним, мы должны быть готовы работать с ним!

Использование python-crontab

Давайте перейдем прямо к работе модуля и запланируем нашу первую задачу.

1.0 Настройка

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

# Importing the CronTab class from the module
from crontab import CronTab

1.1 Создание объекта

Чтобы работать с Python crontab , нам нужно настроить объект для работы с созданием заданий и их повторением.

# Creating an object from the class
## Using the root user
cron = CronTab(user="root")

## Using the current user
my_cron = CronTab(user=True)

# Creating an object from the class into a file
file_cron = CronTab(tabfile="filename.tab")

1.2 Работа с заданиями

Используя модуль python-crontab , мы можем создавать задания и указывать, когда мы хотим, чтобы они повторялись, и через какой интервал они должны повторяться.

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

# Creating a new job
job  = cron.new(command='echo hello_world')

# Setting up restrictions for the job
## The job takes place once every 5 minutes
job.minute.every(5)

## The job takes place once every four hours
job.hour.every(4)

## The job takes place on the 4th, 5th, and 6th day of the week.
job.day.on(4, 5, 6)

# Clearing the restrictions of a job
job.clear()

Имейте в виду, что каждый раз, когда вы меняете ограничение на задание, задание стирается и заменяет себя новым ограничением.

1.3 Запись в файл crontab

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

Это можно выполнить с помощью простой команды в конце настройки ограничений задания.

cron.write()

Оглядываясь назад, вы обнаружите, что cron-это имя нашего объекта, созданного из класса CronTab .

1.4 Файл CronTab

Выполнение файла Python каждый раз, когда вы устанавливаете новое ограничение, чистый CronTab должен выглядеть примерно так.

*/5 * * * * echo hello_world
*/5 */4 * * * echo hello_world
*/5 */4 4,5,6 * * echo hello_world

Вывод

Работа с cron – это большой шаг вперед в автоматизации процессов, и если вы хотите изучить модули, которые могут помочь в определении времени и даты для настройки задач и заданий, вам могут быть интересны другие наши статьи!

Вот работа с dateutil , psutil , и если вы пытаетесь автоматизировать набор данных по какой-либо причине и вам нужна отправная точка, панды !

Рекомендации