summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorByron Jones <bjones@mozilla.com>2011-11-15 09:13:10 +0100
committerByron Jones <bjones@mozilla.com>2011-11-15 09:13:10 +0100
commit67b98255f72cc42f7efbd832e15f39ba1376d99a (patch)
tree965b2f7f62cb71fdae1910f3d4182a0eb0101005
parentc6647e9b3449e8af1b876fa8e1cb322ef43f9dcc (diff)
downloadbugzilla-67b98255f72cc42f7efbd832e15f39ba1376d99a.tar.gz
bugzilla-67b98255f72cc42f7efbd832e15f39ba1376d99a.tar.xz
Bug 702208: TheSchwartz should not open a new db connection for each email
r=mkanat, a=mkanat
-rw-r--r--Bugzilla/JobQueue.pm6
1 files changed, 6 insertions, 0 deletions
diff --git a/Bugzilla/JobQueue.pm b/Bugzilla/JobQueue.pm
index 2804b9179..7ea678345 100644
--- a/Bugzilla/JobQueue.pm
+++ b/Bugzilla/JobQueue.pm
@@ -35,6 +35,11 @@ use constant JOB_MAP => {
send_mail => 'Bugzilla::Job::Mailer',
};
+# Without a driver cache TheSchwartz opens a new database connection
+# for each email it sends. This cached connection doesn't persist
+# across requests.
+use constant DRIVER_CACHE_TIME => 300; # 5 minutes
+
sub job_map {
if (!defined(Bugzilla->request_cache->{job_map})) {
my $job_map = JOB_MAP;
@@ -62,6 +67,7 @@ sub new {
pass => $lc->{db_pass},
prefix => 'ts_',
}],
+ driver_cache_expiration => DRIVER_CACHE_TIME,
);
return $self;