Как реализовать функцию, срабатывающую в определенное время?
📁 метод
Задача состоит в том, чтобы сделать метод, который срабатывает в определенный час.
Предполагаю, делать нужно это в асинхронном методе (чтоб не мешала основной программе). Есть мысль только о том, чтоб через какое-то время проверять у системы который час (циклом) и, если час нужный, то выполнять какую-то функцию, но разве нет иного пути? На случай, если потребуется не час, а минуты.
Для таких целей прекрасно подойдёт модуль .
Пример из документации:
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)А для того чтобы не прерывать выполнение основной программы, можно запустить цикл проверки в отдельном потоке или процессе с помощью стандартных библиотек и соответственно.
Войдите чтобы оставить ответ