workers instead of daemon_* config
This commit is contained in:
@@ -44,15 +44,15 @@ sub build_tasks_list {
|
|||||||
# NB MCE does not like max_workers => 0
|
# NB MCE does not like max_workers => 0
|
||||||
my $tasks = [];
|
my $tasks = [];
|
||||||
|
|
||||||
set(daemon_pollers => 2)
|
setting('workers')->{pollers} = 2
|
||||||
if !defined setting('daemon_pollers');
|
if !defined setting('workers')->{pollers};
|
||||||
set(daemon_interactives => 2)
|
setting('workers')->{interactives} = 2
|
||||||
if !defined setting('daemon_interactives');
|
if !defined setting('workers')->{interactives};
|
||||||
|
|
||||||
push @$tasks, {
|
push @$tasks, {
|
||||||
max_workers => 1,
|
max_workers => 1,
|
||||||
user_begin => worker_factory('Manager'),
|
user_begin => worker_factory('Manager'),
|
||||||
} if setting('daemon_pollers') or setting('daemon_interactives');
|
} if setting('workers')->{pollers} or setting('workers')->{interactives};
|
||||||
|
|
||||||
push @$tasks, {
|
push @$tasks, {
|
||||||
max_workers => 1,
|
max_workers => 1,
|
||||||
@@ -60,27 +60,27 @@ sub build_tasks_list {
|
|||||||
} if setting('housekeeping');
|
} if setting('housekeeping');
|
||||||
|
|
||||||
push @$tasks, {
|
push @$tasks, {
|
||||||
max_workers => setting('daemon_pollers'),
|
max_workers => setting('workers')->{pollers},
|
||||||
user_begin => worker_factory('Poller'),
|
user_begin => worker_factory('Poller'),
|
||||||
} if setting('daemon_pollers');
|
} if setting('workers')->{pollers};
|
||||||
|
|
||||||
push @$tasks, {
|
push @$tasks, {
|
||||||
max_workers => setting('daemon_interactives'),
|
max_workers => setting('workers')->{interactives},
|
||||||
user_begin => worker_factory('Interactive'),
|
user_begin => worker_factory('Interactive'),
|
||||||
} if setting('daemon_interactives');
|
} if setting('workers')->{interactives};
|
||||||
|
|
||||||
info sprintf "MCE will load %s tasks: %s Manager, %s Scheduler, %s Poller, %s Interactive",
|
info sprintf "MCE will load %s tasks: %s Manager, %s Scheduler, %s Poller, %s Interactive",
|
||||||
(scalar @$tasks),
|
(scalar @$tasks),
|
||||||
((setting('daemon_pollers') or setting('daemon_interactives')) ? 1 : 0),
|
((setting('workers')-{pollers} or setting('workers')->{interactives}) ? 1 : 0),
|
||||||
(setting('housekeeping') ? 1 : 0),
|
(setting('housekeeping') ? 1 : 0),
|
||||||
(setting('daemon_pollers') || 0),
|
(setting('workers')->{pollers} || 0),
|
||||||
(setting('daemon_interactives') || 0);
|
(setting('workers')->{interactives} || 0);
|
||||||
|
|
||||||
return $tasks;
|
return $tasks;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub num_workers {
|
sub num_workers {
|
||||||
return (setting('daemon_pollers') + setting('daemon_interactives'));
|
return (setting('workers')->{pollers} + setting('workers')->{interactives});
|
||||||
}
|
}
|
||||||
|
|
||||||
sub worker_factory {
|
sub worker_factory {
|
||||||
|
|||||||
@@ -43,8 +43,8 @@ sub capacity_for {
|
|||||||
};
|
};
|
||||||
|
|
||||||
my $setting_map = {
|
my $setting_map = {
|
||||||
Poller => 'daemon_pollers',
|
Poller => 'pollers',
|
||||||
Interactive => 'daemon_interactives',
|
Interactive => 'interactives',
|
||||||
};
|
};
|
||||||
|
|
||||||
my $role = $role_map->{$action};
|
my $role = $role_map->{$action};
|
||||||
@@ -52,7 +52,7 @@ sub capacity_for {
|
|||||||
|
|
||||||
my $current = $queue->search({role => $role})->count;
|
my $current = $queue->search({role => $role})->count;
|
||||||
|
|
||||||
return ($current < setting($setting));
|
return ($current < setting('workers')->{$setting}));
|
||||||
}
|
}
|
||||||
|
|
||||||
sub take_jobs {
|
sub take_jobs {
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ sub worker_body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
debug "int ($wid): sleeping now...";
|
debug "int ($wid): sleeping now...";
|
||||||
sleep( setting('daemon_sleep_time') || 5 );
|
sleep( setting('workers')->{sleep_time} || 5 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ sub worker_body {
|
|||||||
# TODO also check for stale jobs in Netdisco DB
|
# TODO also check for stale jobs in Netdisco DB
|
||||||
|
|
||||||
debug "mgr ($wid): sleeping now...";
|
debug "mgr ($wid): sleeping now...";
|
||||||
sleep( setting('daemon_sleep_time') || 5 );
|
sleep( setting('workers')->{sleep_time} || 5 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ sub worker_body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
debug "poll ($wid): sleeping now...";
|
debug "poll ($wid): sleeping now...";
|
||||||
sleep( setting('daemon_sleep_time') || 5 );
|
sleep( setting('workers')->{sleep_time} || 5 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -64,10 +64,11 @@ snmptimeout: 1000000
|
|||||||
#
|
#
|
||||||
# mibhome: /usr/share/netdisco/mibs
|
# mibhome: /usr/share/netdisco/mibs
|
||||||
|
|
||||||
mibdirs:
|
# If unset, loads all MIBs in the mibhome directory.
|
||||||
- cisco
|
# mibdirs:
|
||||||
- rfc
|
# - cisco
|
||||||
- net-snmp
|
# - rfc
|
||||||
|
# - net-snmp
|
||||||
|
|
||||||
community: ['public']
|
community: ['public']
|
||||||
community_rw: ['private']
|
community_rw: ['private']
|
||||||
@@ -96,25 +97,17 @@ ignore_interfaces:
|
|||||||
- '(E|T)\\d \\d\\/\\d\\/\\d'
|
- '(E|T)\\d \\d\\/\\d\\/\\d'
|
||||||
- 'Vlan1'
|
- 'Vlan1'
|
||||||
|
|
||||||
# sleep time between polls of the database job queue
|
workers:
|
||||||
daemon_sleep_time: 5
|
# how many daemon processes for this node
|
||||||
|
interactives: 2
|
||||||
# how many daemon processes for this node
|
pollers: 2
|
||||||
daemon_interactives: 2
|
# sleep time between polls of the database job queue
|
||||||
daemon_pollers: 2
|
sleep_time: 5
|
||||||
|
|
||||||
# what housekeeping tasks should this node *schedule*
|
# what housekeeping tasks should this node *schedule*
|
||||||
# (it only does them if daemon_pollers is non-zero)
|
# (it only does them if workers->pollers is non-zero)
|
||||||
#housekeeping:
|
#housekeeping:
|
||||||
# discovernew:
|
# discoverall:
|
||||||
# device: '192.0.2.0'
|
|
||||||
# when:
|
|
||||||
# wday: 'wed'
|
|
||||||
# hour: 14
|
|
||||||
# backup:
|
|
||||||
# when:
|
|
||||||
# hour: 1
|
|
||||||
# refresh:
|
|
||||||
# when: '0 9 * * *'
|
# when: '0 9 * * *'
|
||||||
# arpwalk:
|
# arpwalk:
|
||||||
# when:
|
# when:
|
||||||
@@ -122,9 +115,3 @@ daemon_pollers: 2
|
|||||||
# macwalk:
|
# macwalk:
|
||||||
# when:
|
# when:
|
||||||
# hour: '*/2'
|
# hour: '*/2'
|
||||||
# nbtwalk:
|
|
||||||
# when:
|
|
||||||
# hour: '8,13,21'
|
|
||||||
# saveconfigs:
|
|
||||||
# param: 61
|
|
||||||
# when: '0 * * * *'
|
|
||||||
|
|||||||
@@ -37,11 +37,11 @@ plugins:
|
|||||||
|
|
||||||
# local settings for Netdisco poller and port changes
|
# local settings for Netdisco poller and port changes
|
||||||
|
|
||||||
mibdirs:
|
# If unset, loads all MIBs
|
||||||
- cisco
|
# mibdirs:
|
||||||
- rfc
|
# - cisco
|
||||||
- net-snmp
|
# - rfc
|
||||||
|
# - net-snmp
|
||||||
|
|
||||||
community: ['public']
|
community: ['public']
|
||||||
community_rw: ['private']
|
community_rw: ['private']
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user