Сообщить об ошибке.

Модуль sched, планировщик событий в Python

Класс sched.scheduler() - планировщик общего назначения

Модуль sched определяет один класс sched.scheduler(), реализующий планировщик событий общего назначения.

Синтаксис:

import sched

sched.scheduler(timefunc=time.monotonic, delayfunc=time.sleep)

Параметры:

  • timefunc=time.monotonic - функция, измеряющее время;
  • delayfunc=time.sleep - функция, задержки времени.

Возвращаемое значение:

Описание:

Класс планировщика sched.scheduler() определяет общий интерфейс для планирования событий.

Для работы с "внешним миром" нужны две функции:

  • timefunc должна вызываться без аргументов и возвращать число - "время" в любых единицах измерения.
  • delayfunc должна быть вызвана с одним аргументом, совместимым с возвращаемым значением timefunc и должна задерживать такое же количество единиц времени.

Функция delayfunc также будет вызываться с аргументом 0 после выполнения каждого события, чтобы дать другим потокам возможность работать в многопоточных приложениях.

Класс планировщика sched.scheduler() можно безопасно использовать в многопоточных средах.

Дополнительно смотрите методы и атрибуты объекта планировщика scheduler.

Примеры использования планировщика событий sched.scheduler():

>>> import sched, time
>>> s = sched.scheduler(time.time, time.sleep)
>>> def print_time(a='default'):
...     print("From print_time", time.time(), a)
...
>>> def print_some_times():
...     print(time.time())
...     s.enter(10, 1, print_time)
...     s.enter(5, 2, print_time, argument=('positional',))
...     s.enter(5, 1, print_time, kwargs={'a': 'keyword'})
...     s.run()
...     print(time.time())
...
>>> print_some_times()
# 930343690.257
# From print_time 930343695.274 positional
# From print_time 930343695.275 keyword
# From print_time 930343700.273 default
# 930343700.276