на главную    
     
 
  Менеджер whois серверов – manWhois | Содержание | Заключение  
   
 

Практическая часть. Основные процедуры
Менеджер самообновления – manSuperTask


Задача менеджера superTask – обновление записей КЭШа. По истечении какого-то срока запись считается неактуальной, её следует обновить.

При запуске, менеджер выбирает N устаревших записей из КЭШа и добавляет их в качестве обыкновенных задач на разрешение (только с приоритетом 3). N – число записей, добавленных менеджером за один проход. Нельзя обновлять сразу все устаревшие записи, т.к., во-первых, это затруднит их последующее выполнение, во-вторых, сам процесс добавления задач будет слишком продолжительным; всё-таки первоочередная задача – это обслуживание запросов от клиентов. Разбивая обновление на подобные блоки по N записей, мы добиваемся равномерного распределения времени между этими задачами.

Если все записи обновлены, то менеджер «усыпляется» на продолжительный срок. Если же ещё остались устаревшие записи, то срабатывает некоторый тайм-аут, на который управление передаётся главному циклу. Нужно рассчитывать продолжительность тайм-аута таким образом, чтобы за это время добавленные задачи уже были выполнены (с учётом возможных поступлений задач от клиентов), иначе в Списках задачи будут только накапливаться, но не успевать выполняться.

 
     
  Менеджер whois серверов – manWhois | Содержание | Заключение