Форум сайта python.su
Как выполнять один и тот же код через определённый промежуток времени?
Пока делаю так:
while True: ...... time.sleep(600)
Отредактировано ksk- (Фев. 10, 2013 21:46:33)
Офлайн
а “реверс” как делать? прекращение выполения процесса через час например?
Офлайн
Я думаю, намного проще будет использовать какой нибудь scheduler framework.
APScheduler
TGScheduler
Офлайн
ksk-он правильный если все устраивает.
Но я не уверен, что это правильный подход.
import datetime import time def delta(*args,**kw): return datetime.timedelta(*args,**kw).total_seconds() def repeat(interval, within=float('inf')): def decorator(func): def wrapped(*w_args,**w_kw): elapsed = 0 while elapsed < within: func(*w_args,**w_kw) time.sleep(interval) elapsed += interval return wrapped return decorator @repeat(interval=delta(seconds=2), within=delta(minutes=1)) def main(): print('privetik') if __name__ == '__main__': main()
Офлайн