diff options
author | Dylan William Hardison <dylan@hardison.net> | 2018-03-13 15:37:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-13 15:37:03 +0100 |
commit | 6b8fa6c161e88a9054cdcef49aa76aa857ed9a72 (patch) | |
tree | fd5e28edc46ae33ef07733357a011aa29e6ace75 /Bugzilla/JobQueue/Worker.pm | |
parent | 294b3090c1eac02ed1d561ddb797814bd3537bfb (diff) | |
download | bugzilla-6b8fa6c161e88a9054cdcef49aa76aa857ed9a72.tar.gz bugzilla-6b8fa6c161e88a9054cdcef49aa76aa857ed9a72.tar.xz |
Bug 1441181 - Step 4 - Re-implement subprocess code with IO::Async
Diffstat (limited to 'Bugzilla/JobQueue/Worker.pm')
-rw-r--r-- | Bugzilla/JobQueue/Worker.pm | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Bugzilla/JobQueue/Worker.pm b/Bugzilla/JobQueue/Worker.pm new file mode 100644 index 000000000..db8ebe35e --- /dev/null +++ b/Bugzilla/JobQueue/Worker.pm @@ -0,0 +1,30 @@ +# 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. + +package Bugzilla::JobQueue::Worker; +use 5.10.1; +use strict; +use warnings; + +use Bugzilla::Logging; +use Module::Runtime qw(require_module); + +sub run { + my ( $class, $fn ) = @_; + DEBUG("Starting up for $fn"); + my $jq = Bugzilla->job_queue(); + + DEBUG('Loading jobqueue modules'); + foreach my $module ( values %{ Bugzilla::JobQueue->job_map() } ) { + DEBUG("JobQueue can do $module"); + require_module($module); + $jq->can_do($module); + } + $jq->$fn; +} + +1; |