Планировщик Python


Планировщик

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

Предположим, у вас есть отчет, который должен быть создан в 10 утра ежедневно, этот процесс можно запустить с помощью программы-планировщика.

В Python есть библиотека «schedule», которая может помочь вам выполнить такое планирование, используя очень дружественный синтаксис.

Официальная документация по этой библиотеке доступна по адресу https://schedule.readthedocs.io/en/stable/.

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

pip install schedule
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь вы готовы к планированию заданий.

Давайте попробуем рассмотреть простой пример

import schedule
import time

# This method is the actual processing that we want to accomplish
# with every scheduled execution
def job():
    print("Job ran")

# This defines the frequency to run the program
schedule.every().hour.do(job)

# while loop to keep the program running in the memory
while True:
        # it will check if any execution is pending, 
        # if yes it will start execution
    schedule.run_pending()

        # program will sleep for 1 second and then will again start while loop
    time.sleep(1)
Войти в полноэкранный режим Выйти из полноэкранного режима

Приведенная выше программа будет запускаться каждый час и выводить строку «Задание выполнено».

Давайте рассмотрим еще несколько примеров синтаксиса планирования заданий

Задание по расписанию с периодичностью

# Run job every 15 seconds
schedule.every(15).seconds.do(job)

# Run job every 15 minutes
schedule.every(32).minutes.do(job)

# Run job every 12 hours
schedule.every(12).hours.do(job)

# Run job every 5 days
schedule.every(5).days.do(job)

# Run job every 2 weeks
schedule.every(2).weeks.do(job)
Войти в полноэкранный режим Выйти из полноэкранного режима

Запланированное задание на определенное время

# Run job every minute at the 45th second
schedule.every().minute.at(":45").do(job)

# Run job every hour at the 10th minute
schedule.every().hour.at(":10").do(job)

# Run job every day at specific time

# Everyday at 11 Hour 11 Minutes
schedule.every().day.at("11:11").do(job)

# Everyday at 11 Hour 11 Minutes 11 Second
schedule.every().day.at("11:11:11").do(job)

Войти в полноэкранный режим Выйти из полноэкранного режима

Просмотрите рабочую демонстрацию по адресу
https://replit.com/@AshutoshSharm35/Python-Scheduler-Demo?v=1

Оцените статью
Procodings.ru
Добавить комментарий