выполнение по времени 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)
→ Ссылка