add scheduler based on Algorithm::Cron

This commit is contained in:
Oliver Gorwits
2013-03-24 19:45:24 +00:00
parent 49d136b57a
commit 0acbe8abd3
4 changed files with 94 additions and 3 deletions

View File

@@ -46,6 +46,8 @@ sub build_tasks_list {
user_begin => worker_factory('Manager'),
}];
set(daemon_schedulers => 1)
if !defined setting('daemon_schedulers');
set(daemon_pollers => 2)
if !defined setting('daemon_pollers');
set(daemon_interactives => 2)
@@ -53,6 +55,11 @@ sub build_tasks_list {
# XXX MCE does not like max_workers => 0
push @$tasks, {
max_workers => setting('daemon_schedulers'),
user_begin => worker_factory('Scheduler'),
} if setting('daemon_schedulers');
push @$tasks, {
max_workers => setting('daemon_pollers'),
user_begin => worker_factory('Poller'),
@@ -63,8 +70,11 @@ sub build_tasks_list {
user_begin => worker_factory('Interactive'),
} if setting('daemon_interactives');
info sprintf "MCE will load %s tasks: 1 Manager, %s Poller, %s Interactive",
(1+ scalar @$tasks), (setting('daemon_pollers') || 0), (setting('daemon_interactives') || 0);
info sprintf "MCE will load %s tasks: 1 Manager, %s Scheduler, %s Poller, %s Interactive",
(1+ scalar @$tasks),
(setting('daemon_schedulers') || 0),
(setting('daemon_pollers') || 0),
(setting('daemon_interactives') || 0);
return $tasks;
}