From 49b5274c33ed610315ce1bfcf42015402231d950 Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Sun, 3 Sep 2017 19:04:20 +0100 Subject: [PATCH] use run() mixin to exec action --- bin/netdisco-do | 11 ++--------- lib/App/Netdisco/Backend/Worker/Poller.pm | 14 +++----------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/bin/netdisco-do b/bin/netdisco-do index 3e8ec89d..9d647808 100755 --- a/bin/netdisco-do +++ b/bin/netdisco-do @@ -105,13 +105,7 @@ unless ($action) { use App::Netdisco::Util::Device qw/get_device delete_device renumber_device/; - with 'App::Netdisco::Backend::Worker::Poller::Device'; - with 'App::Netdisco::Backend::Worker::Poller::Arpnip'; - with 'App::Netdisco::Backend::Worker::Poller::Macsuck'; - with 'App::Netdisco::Backend::Worker::Poller::Nbtstat'; - with 'App::Netdisco::Backend::Worker::Poller::Expiry'; - with 'App::Netdisco::Backend::Worker::Interactive::DeviceActions'; - with 'App::Netdisco::Backend::Worker::Interactive::PortActions'; + with 'App::Netdisco::Backend::Runner'; eval { Module::Load::load 'App::Netdisco::Util::Graph' }; sub graph { @@ -257,8 +251,7 @@ foreach my $host (@hostlist) { try { info sprintf '%s: %s started at %s', $action, $actiontext, scalar localtime; - my $status = $worker->$action($job); # TODO - $status->update_job($job); + $worker->run($job); } catch { $job->status('error'); diff --git a/lib/App/Netdisco/Backend/Worker/Poller.pm b/lib/App/Netdisco/Backend/Worker/Poller.pm index 9af441b7..fb354463 100644 --- a/lib/App/Netdisco/Backend/Worker/Poller.pm +++ b/lib/App/Netdisco/Backend/Worker/Poller.pm @@ -12,13 +12,7 @@ use Time::HiRes 'sleep'; use App::Netdisco::JobQueue qw/jq_defer jq_complete/; # add dispatch methods for poller tasks -with 'App::Netdisco::Backend::Worker::Poller::Device', - 'App::Netdisco::Backend::Worker::Poller::Arpnip', - 'App::Netdisco::Backend::Worker::Poller::Macsuck', - 'App::Netdisco::Backend::Worker::Poller::Nbtstat', - 'App::Netdisco::Backend::Worker::Poller::Expiry', - 'App::Netdisco::Backend::Worker::Interactive::DeviceActions', - 'App::Netdisco::Backend::Worker::Interactive::PortActions'; +with 'App::Netdisco::Backend::Runner'; sub worker_begin { (shift)->{started} = time } @@ -31,16 +25,14 @@ sub worker_body { my $job = $self->{queue}->dequeue(1); next unless defined $job; - my $action = $job->action; try { $job->started(scalar localtime); prctl sprintf 'nd2: #%s poll: #%s: %s', $wid, $job->job, $job->summary; info sprintf "pol (%s): starting %s job(%s) at %s", - $wid, $action, $job->job, $job->started; - my $status = $self->$action($job); # TODO - $status->update_job($job); + $wid, $job->action, $job->job, $job->started; + $self->run($job); } catch { $job->status('error');