From ed452b9533b7626250ffb0bd1d0258eaa3f853f9 Mon Sep 17 00:00:00 2001 From: Dylan William Hardison Date: Fri, 28 Sep 2018 10:37:18 -0400 Subject: 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. --- Bugzilla/Quantum.pm | 28 ++++++++++++++++++++++++++++ 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) = @_; -- cgit v1.2.3-24-g4f1b