на главную    
     
 
  Приоритеты задач | Содержание | Основные процедуры  
   
 

Практическая часть. Основные принципы
Менеджеры


Таким образом, имеется 4 менеджера – менеджер выполнения задач (doTask), менеджер задачи superTask (manSuperTask), менеджер приоритетов (manPrior) и менеджер whois серверов (manWhois). Они все должны выполняться с некоторой периодичностью. Эти процедуры являются основными процедурами, выполняющимися в бесконечном цикле сервера. На каждой итерации цикла будет происходить выбор одной из этих процедур. Критерием выбора будет являться приоритет (doTask – соответствует приоритет 1, manPrior – 3, manWhois – 5, manSuperTask - 7), а так же время. Перед завершением выполнения, процедура записывает время, когда она в следующий раз должна быть вызвана (это значение может быть изменено и из других источников). На очередной итерации выбираются процедуры, установленное время для которых уже наступило, и из них выполняется процедура с наивысшим приоритетом. За один запуск менеджер должен выполнять минимум работы – для обеспечения установленной многозадачности. Многозадачность в данном случае является атомарной, т.е. за один такт выполняется одна задача, после чего управление передаётся главному циклу.

Если менеджер не завершил свою работу, например для doTask ещё остались активные задачи, тогда следующее время выполнения будет складываться из текущего времени + тайм-аут. Если же задач больше нет, то менеджер можно запустить несколько позже, разгрузив, таким образом, главный цикл.

 
     
  Приоритеты задач | Содержание | Основные процедуры