device skips should not be used on priority jobs
This commit is contained in:
@@ -38,15 +38,8 @@ sub _getsome {
|
|||||||
return () if ((!defined $num_slots) or ($num_slots < 1));
|
return () if ((!defined $num_slots) or ($num_slots < 1));
|
||||||
return () if ((!defined $where) or (ref {} ne ref $where));
|
return () if ((!defined $where) or (ref {} ne ref $where));
|
||||||
|
|
||||||
$fqdn ||= (hostfqdn || 'localhost');
|
my $rs = schema('netdisco')->resultset('Admin')->search({
|
||||||
my $jobs = schema('netdisco')->resultset('Admin');
|
status => 'queued', %$where,
|
||||||
|
|
||||||
my $rs = $jobs->search({
|
|
||||||
status => 'queued',
|
|
||||||
device => { '-not_in' =>
|
|
||||||
$jobs->skipped($fqdn, setting('workers')->{'max_deferrals'})
|
|
||||||
->columns('device')->as_query },
|
|
||||||
%$where,
|
|
||||||
}, { order_by => 'random()', rows => $num_slots });
|
}, { order_by => 'random()', rows => $num_slots });
|
||||||
|
|
||||||
my @returned = ();
|
my @returned = ();
|
||||||
@@ -57,9 +50,15 @@ sub _getsome {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub jq_getsome {
|
sub jq_getsome {
|
||||||
return _getsome(shift,
|
my $jobs = schema('netdisco')->resultset('Admin');
|
||||||
{ action => { -in => setting('job_prio')->{'normal'} } }
|
$fqdn ||= (hostfqdn || 'localhost');
|
||||||
);
|
|
||||||
|
return _getsome(shift, {
|
||||||
|
action => { -in => setting('job_prio')->{'normal'} },
|
||||||
|
device => { -not_in =>
|
||||||
|
$jobs->skipped($fqdn, setting('workers')->{'max_deferrals'})
|
||||||
|
->columns('device')->as_query },
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
sub jq_getsomep {
|
sub jq_getsomep {
|
||||||
|
|||||||
Reference in New Issue
Block a user