summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/JobQueue/Runner.pm5
-rwxr-xr-xjobqueue.pl15
2 files changed, 12 insertions, 8 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);
}
diff --git a/jobqueue.pl b/jobqueue.pl
index f6722467c..858180334 100755
--- a/jobqueue.pl
+++ b/jobqueue.pl
@@ -33,13 +33,14 @@ jobqueue.pl - Runs jobs in the background for Bugzilla.
./jobqueue.pl [OPTIONS] COMMAND
OPTIONS:
- -f Run in the foreground (don't detach)
- -d Output a lot of debugging information
- -p file Specify the file where jobqueue.pl should store its current
- process id. Defaults to F<data/jobqueue.pl.pid>.
- -n name What should this process call itself in the system log?
- Defaults to the full path you used to invoke the script.
-
+ -f Run in the foreground (don't detach)
+ -d Output a lot of debugging information
+ -p file Specify the file where jobqueue.pl should store its current
+ process id. Defaults to F<data/jobqueue.pl.pid>.
+ -n name What should this process call itself in the system log?
+ Defaults to the full path you used to invoke the script.
+ -j job-name The name of jobs to process. Can be specified multiple times.
+ If not specified, all job types will be processed.
COMMANDS:
start Starts a new jobqueue daemon if there isn't one running already
stop Stops a running jobqueue daemon