| # 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::Mailer; |
| BEGIN { eval "use parent qw(TheSchwartz::Worker)"; } |
| # The longest we expect a job to possibly take, in seconds. |
| use constant grab_for => 300; |
| # We don't want email to fail permanently very easily. Retry for 30 days. |
| use constant max_retries => 725; |
| # The first few retries happen quickly, but after that we wait an hour for |
| my ($class, $num_retries) = @_; |
| return (10, 30, 60, 300, 600)[$num_retries]; |
| my $msg = $job->arg->{msg}; |
| my $success = eval { MessageToMTA($msg, 1); 1; }; |