change to init, first, second stages

This commit is contained in:
Oliver Gorwits
2017-09-10 16:09:45 +01:00
parent 5f2da69697
commit 64a9491115
34 changed files with 74 additions and 63 deletions

View File

@@ -6,7 +6,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::Util::Device 'is_arpnipable_now';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -11,7 +11,7 @@ use Dancer::Plugin::DBIC 'schema';
use Time::HiRes 'gettimeofday';
use NetAddr::MAC ();
register_worker({ primary => true, driver => 'snmp' }, sub {
register_worker({ stage => 'init', driver => 'snmp' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -10,7 +10,7 @@ use Dancer::Plugin::DBIC 'schema';
use NetAddr::IP::Lite ':lower';
use Time::HiRes 'gettimeofday';
register_worker({ primary => false, driver => 'snmp' }, sub {
register_worker({ stage => 'second', driver => 'snmp' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -7,7 +7,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::JobQueue qw/jq_queued jq_insert/;
use Dancer::Plugin::DBIC 'schema';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
my %queued = map {$_ => 1} jq_queued('arpnip');

View File

@@ -6,7 +6,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::Util::Device 'delete_device';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
my ($device, $port, $extra) = map {$job->$_} qw/device port extra/;
return Status->error('Missing device (-d).') if !defined $device;

View File

@@ -6,7 +6,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::Util::Device 'is_discoverable_now';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -9,7 +9,7 @@ use App::Netdisco::Util::Permission 'check_acl_only';
use App::Netdisco::Util::DNS 'ipv4_from_hostname';
use Dancer::Plugin::DBIC 'schema';
register_worker({ primary => false, driver => 'snmp' }, sub {
register_worker({ stage => 'second', driver => 'snmp' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -8,7 +8,7 @@ use App::Netdisco::Transport::SNMP ();
use Dancer::Plugin::DBIC 'schema';
use Encode;
register_worker({ primary => false, driver => 'snmp' }, sub {
register_worker({ stage => 'second', driver => 'snmp' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -8,7 +8,7 @@ use App::Netdisco::Transport::SNMP ();
use Dancer::Plugin::DBIC 'schema';
use Encode;
register_worker({ primary => false, driver => 'snmp' }, sub {
register_worker({ stage => 'first', driver => 'snmp' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -30,7 +30,7 @@ immediately queued (subject to the filtering by the C<discover_*> settings).
=cut
register_worker({ primary => false, driver => 'snmp' }, sub {
register_worker({ stage => 'second', driver => 'snmp' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -7,7 +7,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::Transport::SNMP ();
use Dancer::Plugin::DBIC 'schema';
register_worker({ primary => false, driver => 'snmp' }, sub {
register_worker({ stage => 'second', driver => 'snmp' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -12,7 +12,7 @@ use Dancer::Plugin::DBIC 'schema';
use NetAddr::IP::Lite ':lower';
use Encode;
register_worker({ primary => true, driver => 'snmp' }, sub {
register_worker({ stage => 'init', driver => 'snmp' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -7,7 +7,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::Transport::SNMP ();
use Dancer::Plugin::DBIC 'schema';
register_worker({ primary => false, driver => 'snmp' }, sub {
register_worker({ stage => 'second', driver => 'snmp' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -7,7 +7,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::Transport::SNMP ();
use Dancer::Plugin::DBIC 'schema';
register_worker({ primary => false, driver => 'snmp' }, sub {
register_worker({ stage => 'second', driver => 'snmp' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -6,7 +6,7 @@ use aliased 'App::Netdisco::Worker::Status';
use Dancer::Plugin::DBIC 'schema';
register_worker({ primary => false }, sub {
register_worker({ stage => 'second' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -7,7 +7,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::JobQueue qw/jq_queued jq_insert/;
use Dancer::Plugin::DBIC 'schema';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
my %queued = map {$_ => 1} jq_queued('discover');

View File

@@ -7,7 +7,7 @@ use aliased 'App::Netdisco::Worker::Status';
use Dancer::Plugin::DBIC 'schema';
use App::Netdisco::Util::Statistics 'update_stats';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
if (setting('expire_devices') and setting('expire_devices') > 0) {

View File

@@ -6,7 +6,7 @@ use aliased 'App::Netdisco::Worker::Status';
use Dancer::Plugin::DBIC 'schema';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
return Status->error('nbtstat failed: unable to interpret device param')

View File

@@ -6,7 +6,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::Util::Graph ();
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
App::Netdisco::Util::Graph::graph();
return Status->done('Generated graph data.');

View File

@@ -6,7 +6,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::Util::Device 'is_macsuckable_now';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -14,7 +14,7 @@ use Dancer::Plugin::DBIC 'schema';
use Time::HiRes 'gettimeofday';
use Scope::Guard 'guard';
register_worker({ primary => true, driver => 'snmp' }, sub {
register_worker({ stage => 'init', driver => 'snmp' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -8,7 +8,7 @@ use App::Netdisco::Transport::SNMP ();
use Dancer::Plugin::DBIC 'schema';
use Time::HiRes 'gettimeofday';
register_worker({ primary => false, driver => 'snmp' }, sub {
register_worker({ stage => 'second', driver => 'snmp' }, sub {
my ($job, $workerconf) = @_;
my $device = $job->device;

View File

@@ -7,7 +7,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::JobQueue qw/jq_queued jq_insert/;
use Dancer::Plugin::DBIC 'schema';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
my %queued = map {$_ => 1} jq_queued('macsuck');

View File

@@ -6,7 +6,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::Util::NodeMonitor ();
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
App::Netdisco::Util::NodeMonitor::monitor();
return Status->done('Generated monitor data.');

View File

@@ -6,7 +6,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::Util::Device 'is_macsuckable';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
return Status->error('nbtstat failed: unable to interpret device param')

View File

@@ -9,7 +9,7 @@ use App::Netdisco::Util::Node 'is_nbtstatable';
use Dancer::Plugin::DBIC 'schema';
use Time::HiRes 'gettimeofday';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
my $host = $job->device->ip;

View File

@@ -7,7 +7,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::JobQueue qw/jq_queued jq_insert/;
use Dancer::Plugin::DBIC 'schema';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
my %queued = map {$_ => 1} jq_queued('nbtstat');

View File

@@ -4,7 +4,7 @@ use Dancer ':syntax';
use App::Netdisco::Worker::Plugin;
use aliased 'App::Netdisco::Worker::Status';
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
my ($device, $port, $extra) = map {$job->$_} qw/device port extra/;

View File

@@ -7,7 +7,7 @@ use aliased 'App::Netdisco::Worker::Status';
use NetAddr::IP qw/:rfc3021 :lower/;
use App::Netdisco::Util::Device qw/get_device renumber_device/;
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
my ($device, $port, $extra) = map {$job->$_} qw/device port extra/;
return Status->error('Missing device (-d).') if !defined $device;

View File

@@ -7,7 +7,7 @@ use aliased 'App::Netdisco::Worker::Status';
use Data::Printer ();
use App::Netdisco::Transport::SNMP;
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
my ($device, $port, $extra) = map {$job->$_} qw/device port extra/;
return Status->error('Missing device (-d).') if !defined $device;

View File

@@ -6,7 +6,7 @@ use aliased 'App::Netdisco::Worker::Status';
use App::Netdisco::Util::Statistics ();
register_worker({ primary => true }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
App::Netdisco::Util::Statistics::update_stats();
return Status->done('Updated statistics.');

View File

@@ -4,16 +4,28 @@ use Dancer ':syntax';
use App::Netdisco::Worker::Plugin;
use aliased 'App::Netdisco::Worker::Status';
register_worker({ primary => true }, sub {
register_worker({ stage => 'second' }, sub {
my ($job, $workerconf) = @_;
debug 'Test (primary) ran successfully.';
return Status->done('Test (primary) ran successfully.');
debug 'Test (second) ran successfully.';
return Status->done('Test (second) ran successfully.');
});
register_worker({ primary => false }, sub {
register_worker({ stage => 'init' }, sub {
my ($job, $workerconf) = @_;
debug 'Test ran successfully.';
return Status->done('Test ran successfully.');
debug 'Test (init) ran successfully.';
return Status->done('Test (init) ran successfully.');
});
register_worker({ stage => 'first' }, sub {
my ($job, $workerconf) = @_;
debug 'Test (first) ran successfully.';
return Status->done('Test (first) ran successfully.');
});
register_worker(sub {
my ($job, $workerconf) = @_;
debug 'Test (undefined) ran successfully.';
return Status->done('Test (undefined) ran successfully.');
});
true;