summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Job
diff options
context:
space:
mode:
authorByron Jones <bjones@mozilla.com>2013-07-31 07:20:07 +0200
committerByron Jones <bjones@mozilla.com>2013-07-31 07:20:07 +0200
commite9f07c7e2bc8dcf66381ed588ddd955d77b7d26f (patch)
tree42e9dde86748c22486f0df5c05bf16a10fdd6797 /Bugzilla/Job
parent5d5597bbd642ad00f2637abbc93714b86a359641 (diff)
downloadbugzilla-e9f07c7e2bc8dcf66381ed588ddd955d77b7d26f.tar.gz
bugzilla-e9f07c7e2bc8dcf66381ed588ddd955d77b7d26f.tar.xz
Bug 877078: shift bugmail generation to the jobqueue
r=sgreen, a=sgreen
Diffstat (limited to 'Bugzilla/Job')
-rw-r--r--Bugzilla/Job/BugMail.pm31
-rw-r--r--Bugzilla/Job/Mailer.pm10
2 files changed, 31 insertions, 10 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;
diff --git a/Bugzilla/Job/Mailer.pm b/Bugzilla/Job/Mailer.pm
index 3d52f8428..8fce80dd0 100644
--- a/Bugzilla/Job/Mailer.pm
+++ b/Bugzilla/Job/Mailer.pm
@@ -43,13 +43,3 @@ sub work {
}
1;
-
-=head1 B<Methods in need of POD>
-
-=over
-
-=item retry_delay
-
-=item work
-
-=back