@alex1478

Как правильно сделать таймер (аналог функционала cron) на питоне?

Добрый день. Мне нужно в своей программе выполнять какое-то определённое действие каждый час, в 0 минут.
Я использую такой алгоритм:
while True:
    if datetime.datetime.now().minute == 59:
        if datetime.datetime.now().minute != 00:
            time.sleep(1)
        else:
            # Действие
            print('00:00')
    else:
        time.sleep(60)

Есть ли какой-то смысл в том, что я только после 59 минут начинаю проверять минуты каждую секунду, а до этого проверяю каждую минуту?
И правильно ли я делаю, возможно подобный таймер нужно писать как-то иначе?
  • Вопрос задан
  • 422 просмотра
Пригласить эксперта
Ответы на вопрос 2
netpastor
@netpastor
Python developer
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
ну такое ))

ты ж в курсе что выполнишь (59-60)*ШУстрость раз, а не один ))
в целом ничего не мешает быть демоном, т.е. не заморачиываться со sleep

т.е.

while True:
    if all ([datetime.datetime.now().time().minute == 0, datetime.datetime.now().time().second == 0]):
        print('fuckthiswork')
        time.sleep(1)  #чтобы убрать шустрость


ну или

while True:
    if datetime.datetime.now().time().minute == 0:
        print('fuckthiswork')
        time.sleep(61)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы