@hpmalo

Как выполнять функции циклично каждые 30 минут, час и т.д?

Имеется множество разных функций которые парсят данные, каждая из них должна срабатывать каждые 30 минут, час и тд. Как можно реализовать?
  • Вопрос задан
  • 13655 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Раз вариант:
import sched, time

s = sched.scheduler(time.time, time.sleep)

def f():
    s.enter(5, 1, f)  # Перезапуск через 5 секунд
    print(time.time())

f()
s.run()

Два вариант:
import threading

def f():
  threading.Timer(5.0, f).start()  # Перезапуск через 5 секунд
  print("Hello!")

f()

Совсем тупой вариант:
import time

def f():
  print("Hello!")

while True:
    time.sleep(5)
    f()
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@jistulamle
В linux есть планировщик заданий - cron.
Ответ написан
@pfg21
ex-турист
лучше системд.таймер - больше параметров и возможностей.
Ответ написан
Комментировать
@mrmark-69
А мне подошел другой вариант: https://know-online.com/post/python-timer
from threading import Timer

# выполнять функцию hello() каждые 10 секунд
def hello():
print("Привет, мир")
Timer(10, hello).start()

hello()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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