summaryrefslogtreecommitdiffstats
path: root/Bugzilla/JobQueue
diff options
context:
space:
mode:
authorMatt Tyson <mtyson@redhat.com>2014-10-27 06:48:45 +0100
committerByron Jones <glob@mozilla.com>2014-10-27 06:48:45 +0100
commit0a3062afeb7d129553f626408da7e00bfda25cc2 (patch)
treedfe1eb95278da9452722201bf7683490f5a02d84 /Bugzilla/JobQueue
parent5a1a4b92a3381d8bcc7e42808961420c27dd0c38 (diff)
downloadbugzilla-0a3062afeb7d129553f626408da7e00bfda25cc2.tar.gz
bugzilla-0a3062afeb7d129553f626408da7e00bfda25cc2.tar.xz
Bug 1067753: Allow the job queue to specify one or more types of jobs to run
r=mtyson,a=sgreen
Diffstat (limited to 'Bugzilla/JobQueue')
-rw-r--r--Bugzilla/JobQueue/Runner.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/Bugzilla/JobQueue/Runner.pm b/Bugzilla/JobQueue/Runner.pm
index 104a97b0b..2367f8d77 100644
--- a/Bugzilla/JobQueue/Runner.pm
+++ b/Bugzilla/JobQueue/Runner.pm
@@ -80,6 +80,7 @@ sub gd_more_opt {
return (
'pidfile=s' => \$self->{gd_args}{pidfile},
'n=s' => \$self->{gd_args}{progname},
+ 'j=s@' => \$self->{gd_args}{job_name},
);
}
@@ -210,10 +211,12 @@ sub gd_run {
sub _do_work {
my ($self, $fn) = @_;
+ my @job_name = @{ $self->{gd_args}{job_name} // [] };
my $jq = Bugzilla->job_queue();
$jq->set_verbose($self->{debug});
$jq->set_pidfile($self->{gd_pidfile});
- foreach my $module (values %{ Bugzilla::JobQueue->job_map() }) {
+ while (my ($key, $module) = each %{ Bugzilla::JobQueue->job_map() }) {
+ next if @job_name and ! grep { $_ eq $key } @job_name;
eval "use $module";
$jq->can_do($module);
}