schedule python запуск в конкретные минуты каждого часа
Всем привет, есть задача запускать задачу несколько раз в час. Например в 0, 15, 45 минут, или же в 0, 15, 30, 45. Понятное дело что можно сделать запуск таски каждые 15 минут
every(15).minutes.do
Но такое выражение мне не подходит, потому что таска должна запускаться ровно в n минут.
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
В первом примере в документации есть такая строка:
schedule.every().minute.at(":17").do(job)
Что означает "выполнять каждую минуту в 17 секунд". Аналогично можно задать для часа, например:
# Выполнять каждый час в 15 минут
schedule.every().hour.at(":15").do(job)
# Если запускать из интерактивного режима Python, то выведет:
# Every 1 hour at 00:15:00 do job() (last run: [never], next run: 2023-01-24 12:15:00)
Нужно таким образом задать время запуска для 0 минут, 15 минут, 30 минут, 45 минут:
import schedule
def job():
print("I'm working...")
schedule.every().hour.at(":00").do(job)
schedule.every().hour.at(":15").do(job)
schedule.every().hour.at(":30").do(job)
schedule.every().hour.at(":45").do(job)
while True:
schedule.run_pending()
time.sleep(1)