diff --git a/Netdisco/lib/App/Netdisco/Daemon/JobQueue.pm b/Netdisco/lib/App/Netdisco/Daemon/JobQueue.pm deleted file mode 100644 index abbe62dc..00000000 --- a/Netdisco/lib/App/Netdisco/Daemon/JobQueue.pm +++ /dev/null @@ -1,19 +0,0 @@ -package App::Netdisco::Daemon::JobQueue; - -use Role::Tiny; -use namespace::clean; - -use Module::Load (); -Module::Load::load_remote 'JobQueue' => 'App::Netdisco::JobQueue' => ':all'; - -# central queue -sub jq_getsome { shift and JobQueue::jq_getsome(@_) } -sub jq_locked { shift and JobQueue::jq_locked(@_) } -sub jq_queued { shift and JobQueue::jq_queued(@_) } -sub jq_take { shift and JobQueue::jq_take(@_) } -sub jq_lock { shift and JobQueue::jq_lock(@_) } -sub jq_defer { shift and JobQueue::jq_defer(@_) } -sub jq_complete { shift and JobQueue::jq_complete(@_) } -sub jq_insert { shift and JobQueue::jq_insert(@_) } - -1; diff --git a/Netdisco/lib/App/Netdisco/Daemon/Worker/Common.pm b/Netdisco/lib/App/Netdisco/Daemon/Worker/Common.pm index 10baf3cf..8dce49ed 100644 --- a/Netdisco/lib/App/Netdisco/Daemon/Worker/Common.pm +++ b/Netdisco/lib/App/Netdisco/Daemon/Worker/Common.pm @@ -6,7 +6,7 @@ use Try::Tiny; use Role::Tiny; use namespace::clean; -with 'App::Netdisco::Daemon::JobQueue'; +use App::Netdisco::JobQueue qw/jq_take jq_defer jq_complete/; sub worker_body { my $self = shift; @@ -16,7 +16,7 @@ sub worker_body { my $type = $self->worker_type; while (1) { - my $jobs = $self->jq_take($self->wid, $type); + my $jobs = jq_take($self->wid, $type); foreach my $job (@$jobs) { my $target = $self->munge_action($job->action); @@ -50,11 +50,11 @@ sub close_job { try { if ($job->status eq 'defer') { - $self->jq_defer($job); + jq_defer($job); } else { $job->finished($now); - $self->jq_complete($job); + jq_complete($job); } } catch { $self->sendto('stderr', "error closing job: $_\n") }; diff --git a/Netdisco/lib/App/Netdisco/Daemon/Worker/Manager.pm b/Netdisco/lib/App/Netdisco/Daemon/Worker/Manager.pm index d77c6952..2bf17bad 100644 --- a/Netdisco/lib/App/Netdisco/Daemon/Worker/Manager.pm +++ b/Netdisco/lib/App/Netdisco/Daemon/Worker/Manager.pm @@ -6,7 +6,7 @@ use Role::Tiny; use namespace::clean; use List::Util 'sum'; -with 'App::Netdisco::Daemon::JobQueue'; +use App::Netdisco::JobQueue qw/jq_locked jq_getsome jq_lock/; sub worker_begin { my $self = shift; @@ -19,7 +19,7 @@ sub worker_begin { # requeue jobs locally debug "mgr ($wid): searching for jobs booked to this processing node"; - my @jobs = $self->jq_locked; + my @jobs = jq_locked; if (scalar @jobs) { info sprintf "mgr (%s): found %s jobs booked to this processing node", $wid, scalar @jobs; @@ -42,7 +42,7 @@ sub worker_body { # get some pending jobs # TODO also check for stale jobs in Netdisco DB - foreach my $job ( $self->jq_getsome($num_slots) ) { + foreach my $job ( jq_getsome($num_slots) ) { # check for available local capacity my $job_type = setting('job_types')->{$job->action}; @@ -51,7 +51,7 @@ sub worker_body { $wid, $job->id, $job->action; # mark job as running - next unless $self->jq_lock($job); + next unless jq_lock($job); info sprintf "mgr (%s): job %s booked out for this processing node", $wid, $job->id; diff --git a/Netdisco/lib/App/Netdisco/Daemon/Worker/Scheduler.pm b/Netdisco/lib/App/Netdisco/Daemon/Worker/Scheduler.pm index 218798ac..c6c98671 100644 --- a/Netdisco/lib/App/Netdisco/Daemon/Worker/Scheduler.pm +++ b/Netdisco/lib/App/Netdisco/Daemon/Worker/Scheduler.pm @@ -6,7 +6,7 @@ use Algorithm::Cron; use Role::Tiny; use namespace::clean; -with 'App::Netdisco::Daemon::JobQueue'; +use App::Netdisco::JobQueue qw/jq_insert/; sub worker_begin { my $self = shift; @@ -53,7 +53,7 @@ sub worker_body { # queue it! info "sched ($wid): queueing $action job"; - $self->jq_insert({ + jq_insert({ action => $action, device => $sched->{device}, extra => $sched->{extra},