diff --git a/lib/App/Netdisco/Worker/Loader.pm b/lib/App/Netdisco/Worker/Loader.pm index cdb9ce2e..587c2903 100644 --- a/lib/App/Netdisco/Worker/Loader.pm +++ b/lib/App/Netdisco/Worker/Loader.pm @@ -4,7 +4,6 @@ use strict; use warnings; use Module::Load (); -use Array::Iterator; use Dancer qw/:moose :syntax/; use Moo::Role; @@ -49,7 +48,7 @@ sub load_workers { } } - $self->$pname( Array::Iterator->new({ __array__ => \@wset }) ); + $self->$pname( \@wset ); } } diff --git a/lib/App/Netdisco/Worker/Runner.pm b/lib/App/Netdisco/Worker/Runner.pm index e07fe420..2a81ab0c 100644 --- a/lib/App/Netdisco/Worker/Runner.pm +++ b/lib/App/Netdisco/Worker/Runner.pm @@ -68,12 +68,12 @@ sub run_workers { my $set = shift or return $job->add_status( Status->error('missing set param') ); - return unless ref $self->$set and $self->$set->get_length(); + return unless ref [] eq ref $self->$set and 0 < scalar @{ $self->$set }; (my $phase = $set) =~ s/^workers_//; $job->enter_phase($phase); - while (my $worker = $self->$set->get_next()) { + foreach my $worker (@{ $self->$set }) { try { $job->add_status( $worker->($job) ) } catch { debug "=> $_" if $_;