summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Job
diff options
context:
space:
mode:
authorByron Jones <bjones@mozilla.com>2013-10-21 09:46:30 +0200
committerByron Jones <bjones@mozilla.com>2013-10-21 09:46:30 +0200
commite3edbc52e592519697bfb0130a3ef13a7744a5d2 (patch)
tree3dda3c21c300429e06b42eb6e0c4f67d92103081 /Bugzilla/Job
parent5d096b6f18c5e42f3246c9a652c276fabda5f6f3 (diff)
downloadbugzilla-e3edbc52e592519697bfb0130a3ef13a7744a5d2.tar.gz
bugzilla-e3edbc52e592519697bfb0130a3ef13a7744a5d2.tar.xz
Bug 910565: backport bug 877078 to bmo (shift bugmail generation to the jobqueue)
Diffstat (limited to 'Bugzilla/Job')
-rw-r--r--Bugzilla/Job/BugMail.pm31
1 files changed, 31 insertions, 0 deletions
diff --git a/Bugzilla/Job/BugMail.pm b/Bugzilla/Job/BugMail.pm
new file mode 100644
index 000000000..9c176b005
--- /dev/null
+++ b/Bugzilla/Job/BugMail.pm
@@ -0,0 +1,31 @@
+# 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::Job::BugMail;
+
+use 5.10.1;
+use strict;
+
+use Bugzilla::BugMail;
+BEGIN { eval "use parent qw(Bugzilla::Job::Mailer)"; }
+
+sub work {
+ my ($class, $job) = @_;
+ my $success = eval {
+ Bugzilla::BugMail::dequeue($job->arg->{vars});
+ 1;
+ };
+ if (!$success) {
+ $job->failed($@);
+ undef $@;
+ }
+ else {
+ $job->completed;
+ }
+}
+
+1;