diff options
author | Byron Jones <bjones@mozilla.com> | 2013-07-31 07:20:07 +0200 |
---|---|---|
committer | Byron Jones <bjones@mozilla.com> | 2013-07-31 07:20:07 +0200 |
commit | e9f07c7e2bc8dcf66381ed588ddd955d77b7d26f (patch) | |
tree | 42e9dde86748c22486f0df5c05bf16a10fdd6797 /Bugzilla/Job | |
parent | 5d5597bbd642ad00f2637abbc93714b86a359641 (diff) | |
download | bugzilla-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.pm | 31 | ||||
-rw-r--r-- | Bugzilla/Job/Mailer.pm | 10 |
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 |