remove global rubbish
This commit is contained in:
@@ -34,21 +34,12 @@ sub import {
|
|||||||
$store->install_hooks("nd2_core_${phase}");
|
$store->install_hooks("nd2_core_${phase}");
|
||||||
|
|
||||||
foreach my $namespace (sort keys %{ vars->{'workers'}->{$phase} }) {
|
foreach my $namespace (sort keys %{ vars->{'workers'}->{$phase} }) {
|
||||||
hook "nd2_core_${phase}" => sub {
|
|
||||||
vars->{'last_worker_ok'} = false;
|
|
||||||
vars->{'last_worker_priority'} = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
foreach my $priority (sort {$b <=> $a}
|
foreach my $priority (sort {$b <=> $a}
|
||||||
keys %{ vars->{'workers'}->{$phase}->{$namespace} }) {
|
keys %{ vars->{'workers'}->{$phase}->{$namespace} }) {
|
||||||
|
|
||||||
# D::Factory::Hook::register_hook() does not work?!
|
# D::Factory::Hook::register_hook() does not work?!
|
||||||
hook "nd2_core_${phase}" => $_
|
hook "nd2_core_${phase}" => $_
|
||||||
for @{ vars->{'workers'}->{$phase}->{$namespace}->{$priority} };
|
for @{ vars->{'workers'}->{$phase}->{$namespace}->{$priority} };
|
||||||
|
|
||||||
hook "nd2_core_${phase}" => sub {
|
|
||||||
vars->{'last_worker_priority'} = $priority;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,12 +32,6 @@ register 'register_worker' => sub {
|
|||||||
my $job = shift or return Status->error('missing job param');
|
my $job = shift or return Status->error('missing job param');
|
||||||
# use DDP; p $workerconf;
|
# use DDP; p $workerconf;
|
||||||
|
|
||||||
# once workers at a given priority level in a namespace are successful,
|
|
||||||
# we can skip workers at lower priorities (that is, other drivers)
|
|
||||||
return Status->noop('skipped worker after previous namespace success')
|
|
||||||
if vars->{'last_worker_ok'}
|
|
||||||
and $workerconf->{priority} < vars->{'last_worker_priority'};
|
|
||||||
|
|
||||||
# worker might be vendor/platform specific
|
# worker might be vendor/platform specific
|
||||||
if (ref $job->device) {
|
if (ref $job->device) {
|
||||||
my $no = (exists $workerconf->{no} ? $workerconf->{no} : undef);
|
my $no = (exists $workerconf->{no} ? $workerconf->{no} : undef);
|
||||||
|
|||||||
@@ -100,12 +100,6 @@ sub run_workers {
|
|||||||
catch {
|
catch {
|
||||||
debug "=> $_" if $_;
|
debug "=> $_" if $_;
|
||||||
$self->jobstat->error($_) if $phase eq 'check';
|
$self->jobstat->error($_) if $phase eq 'check';
|
||||||
}
|
|
||||||
# allow workers to know whether previous worker of a different driver
|
|
||||||
# but the same namespace was successful
|
|
||||||
finally {
|
|
||||||
vars->{'last_worker_ok'} = $self->jobstat->is_ok
|
|
||||||
if not vars->{'last_worker_ok'};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user