summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDylan William Hardison <dylan@hardison.net>2018-09-28 16:37:18 +0200
committerGitHub <noreply@github.com>2018-09-28 16:37:18 +0200
commited452b9533b7626250ffb0bd1d0258eaa3f853f9 (patch)
tree32c53c7efef98afefc6b0a182d592fd33c4794d1
parentb0d4aab23e9d89f608e79265fcfbefb88166ecc1 (diff)
downloadbugzilla-ed452b9533b7626250ffb0bd1d0258eaa3f853f9.tar.gz
bugzilla-ed452b9533b7626250ffb0bd1d0258eaa3f853f9.tar.xz
no bug - use more generous timeouts
this makes all the mojo timeouts larger -- except for 'clients' which should be smaller because we're so synchronous. It also puts them into environmental variables so ops can tweak them. Note some of the code has moved to the main application class to make future people less likely to not notice these values.
-rw-r--r--Bugzilla/Quantum.pm28
-rw-r--r--Bugzilla/Quantum/Plugin/Glue.pm22
2 files changed, 28 insertions, 22 deletions
diff --git a/Bugzilla/Quantum.pm b/Bugzilla/Quantum.pm
index c64e57e13..3d392c47b 100644
--- a/Bugzilla/Quantum.pm
+++ b/Bugzilla/Quantum.pm
@@ -38,6 +38,34 @@ sub startup {
$self->plugin('Bugzilla::Quantum::Plugin::BlockIP');
$self->plugin('Bugzilla::Quantum::Plugin::BasicAuth');
+ # hypnotoad is weird and doesn't look for MOJO_LISTEN itself.
+ $self->config(
+ hypnotoad => {
+ proxy => $ENV{MOJO_REVERSE_PROXY} // 1,
+ heartbeat_interval => $ENV{MOJO_HEARTBEAT_INTERVAL} // 10,
+ heartbeat_timeout => $ENV{MOJO_HEARTBEAT_TIMEOUT} // 120,
+ inactivity_timeout => $ENV{MOJO_INACTIVITY_TIMEOUT} // 120,
+ workers => $ENV{MOJO_WORKERS} // 15,
+ clients => $ENV{MOJO_CLIENTS} // 10,
+ spare => $ENV{MOJO_SPARE} // 5,
+ listen => [ $ENV{MOJO_LISTEN} // 'http://*:3000' ],
+ },
+ );
+
+ # Make sure each httpd child receives a different random seed (bug 476622).
+ # Bugzilla::RNG has one srand that needs to be called for
+ # every process, and Perl has another. (Various Perl modules still use
+ # the built-in rand(), even though we never use it in Bugzilla itself,
+ # so we need to srand() both of them.)
+ # Also, ping the dbh to force a reconnection.
+ Mojo::IOLoop->next_tick(
+ sub {
+ Bugzilla::RNG::srand();
+ srand();
+ try { Bugzilla->dbh->ping };
+ }
+ );
+
Bugzilla::Extension->load_all();
if ( $self->mode ne 'development' ) {
Bugzilla->preload_features();
diff --git a/Bugzilla/Quantum/Plugin/Glue.pm b/Bugzilla/Quantum/Plugin/Glue.pm
index b9cf9268f..a38a12657 100644
--- a/Bugzilla/Quantum/Plugin/Glue.pm
+++ b/Bugzilla/Quantum/Plugin/Glue.pm
@@ -31,28 +31,6 @@ sub register {
}
}
- # hypnotoad is weird and doesn't look for MOJO_LISTEN itself.
- $app->config(
- hypnotoad => {
- proxy => 1,
- listen => [ $ENV{MOJO_LISTEN} ],
- },
- );
-
- # Make sure each httpd child receives a different random seed (bug 476622).
- # Bugzilla::RNG has one srand that needs to be called for
- # every process, and Perl has another. (Various Perl modules still use
- # the built-in rand(), even though we never use it in Bugzilla itself,
- # so we need to srand() both of them.)
- # Also, ping the dbh to force a reconnection.
- Mojo::IOLoop->next_tick(
- sub {
- Bugzilla::RNG::srand();
- srand();
- try { Bugzilla->dbh->ping };
- }
- );
-
$app->hook(
before_dispatch => sub {
my ($c) = @_;