https://bugzilla.mozilla.org/show_bug.cgi?id=621256
$SIG{TERM} = sub { $self->gd_quit_event(); }
}
+sub gd_other_cmd {
+ my ($self) = shift;
+ if ($ARGV[0] eq "once") {
+ $self->_do_work("work_once");
+
+ exit(0);
+ }
+
+ $self->SUPER::gd_other_cmd();
+}
+
sub gd_run {
my $self = shift;
+ $self->_do_work("work");
+}
+
+sub _do_work {
+ my ($self, $fn) = @_;
+
my $jq = Bugzilla->job_queue();
$jq->set_verbose($self->{debug});
foreach my $module (values %{ Bugzilla::JobQueue->job_map() }) {
eval "use $module";
$jq->can_do($module);
}
- $jq->work;
+
+ $jq->$fn;
}
1;
stop Stops a running jobqueue daemon
restart Stops a running jobqueue if one is running, and then
starts a new one.
+ once Checks the job queue once, executes the first item found (if
+ any) and then exits
check Report the current status of the daemon.
install On some *nix systems, this automatically installs and
configures jobqueue.pl as a system service so that it will