«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу создать планирование в стиле Cron в Python?

Как я могу создать планирование в стиле Cron в Python?

Опубликовано 22 декабря 2024 г.
Просматривать:857

How Can I Create Cron-Like Scheduling in Python?

Планирование в стиле Cron с помощью Python

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

расписания

предлагает простой и выразительный интерфейс. Он позволяет планировать задачи с использованием выражений, подобных cron:расписание импорта время импорта определение задания(): print("Я работаю...") расписание.каждые(10).минуты.до(задание) расписание.каждый().час.до(задание) Schedule.every().day.at("10:30").do(задание) пока 1: расписание.run_pending() time.sleep(1)

В этом примере функция job() будет выполняться через регулярные промежутки времени. Вы можете изменить выражение, чтобы задать сложные расписания, например каждые 2 часа с 9:00 до 17:00 в будние дни.

Альтернативные подходы
import schedule
import time

def job():
    print("I'm working...")

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)

while 1:
    schedule.run_pending()
    time.sleep(1)

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

apscheduler:

Более полный библиотека планирования с поддержкой нескольких бэкэндов, включая локальные потоки и Celery.

    crontab:
  • Пакет Python, который эмулирует команду crontab, позволяя напрямую планировать команды оболочки.
  • celery-beat:
  • Планировщик, который интегрируется с распределенной задачей Celery. очередь.
  • Помните, что при определении собственного планировщика вам нужно будет обрабатывать запуск функций Python в отдельном потоке, чтобы избежать блокировки основного процесса.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3