#!/usr/bin/perl -w # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # # This Source Code Form is "Incompatible With Secondary Licenses", as # defined by the Mozilla Public License, v. 2.0. use strict; use Cwd qw(abs_path); use File::Basename; BEGIN { # Untaint the abs_path. my ($a) = abs_path($0) =~ /^(.*)$/; chdir dirname($a); } use lib qw(. lib); use Bugzilla; use Bugzilla::JobQueue::Runner; Bugzilla::JobQueue::Runner->new(); =head1 NAME jobqueue.pl - Runs jobs in the background for Bugzilla. =head1 SYNOPSIS ./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. -n name What should this process call itself in the system log? Defaults to the full path you used to invoke the script. COMMANDS: start Starts a new jobqueue daemon if there isn't one running already 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 onepass Checks the job queue, executes all items found, 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 start every time the machine boots. uninstall Removes the system service for jobqueue.pl. help Display this usage info version Display the version of jobqueue.pl =head1 DESCRIPTION See L and L. =head1 Running jobqueue.pl as a System Service For systems that use Upstart or SysV Init, there is a SysV/Upstart init script included with Bugzilla for jobqueue.pl: F. It should work out-of-the-box on RHEL, Fedora, CentOS etc. You can install it by doing C<./jobqueue.pl install> as root, after already having run L at least once to completion on this Bugzilla installation. If you are using a system that isn't RHEL, Fedora, CentOS, etc., then you may have to modify F and install it yourself manually in order to get C running as a system service.