diff options
author | Dylan William Hardison <dylan@hardison.net> | 2018-09-28 16:37:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-28 16:37:18 +0200 |
commit | ed452b9533b7626250ffb0bd1d0258eaa3f853f9 (patch) | |
tree | 32c53c7efef98afefc6b0a182d592fd33c4794d1 /Bugzilla | |
parent | b0d4aab23e9d89f608e79265fcfbefb88166ecc1 (diff) | |
download | bugzilla-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.
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/Quantum.pm | 28 | ||||
-rw-r--r-- | Bugzilla/Quantum/Plugin/Glue.pm | 22 |
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) = @_; |