выполнение по времени python
чего то туплю!
нужно чтоб функция выполнялась в каждые 5 мин 1 сек строго
т.е в
10:45:01
10:55:01
11:05:01
и тд.
проблема в том что не понятно в какое время запустится программа и еще моя функция может выполнять ся разный промежуток времени, т.е. банально time.sleep(300) не подойдет
while true:
tt1 = datetime.datetime.now().minute % 5 * 60 + datetime.datetime.now().second
tt = 300
if not (300 - tt1):
tt = 301 - tt1
time.sleep(tt)
my_code()
Ответы (1 шт):
Автор решения: Андрей Крузлик
→ Ссылка
спасибо за советы!! нашел способ! Хотя может есть оригинальнее решение?
import schedule
import time
def my_code():
print("I'm working...")
schedule.every(5).minutes.at(":01").do(my_code)
while True:
schedule.run_pending()
time.sleep(1)