аватар question@mail.ru · 01.01.1970 03:00

Как реализовать функцию, срабатывающую в определенное время?

Задача состоит в том, чтобы сделать метод, который срабатывает в определенный час.

Предполагаю, делать нужно это в асинхронном методе (чтоб не мешала основной программе). Есть мысль только о том, чтоб через какое-то время проверять у системы который час (циклом) и, если час нужный, то выполнять какую-то функцию, но разве нет иного пути? На случай, если потребуется не час, а минуты.

аватар answer@mail.ru · 01.01.1970 03:00

Для таких целей прекрасно подойдёт модуль .

Пример из документации:

import scheduleimport timedef job():    print(""I'm working..."")schedule.every(10).minutes.do(job)schedule.every().hour.do(job)schedule.every().day.at(""10:30"").do(job)schedule.every(5).to(10).minutes.do(job)schedule.every().monday.do(job)schedule.every().wednesday.at(""13:15"").do(job)schedule.every().minute.at("":17"").do(job)while True:    schedule.run_pending()    time.sleep(1)

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

Последние

Похожие