diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index 54eb12b7397ab9b040715a490f7eebf6e5986ffd..a0ae43b9df93fe105c7dbb85e3ff24d2c9ce8738 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -1131,18 +1131,22 @@ sub station { } )->wait; } - elsif ( $err =~ m{svcRes|connection close|Service Temporarily Unavailable} ) { + elsif ( $err + =~ m{svcRes|connection close|Service Temporarily Unavailable} ) + { $self->render( 'bad_gateway', - message => $err, - status => 502 + message => $err, + status => 502, + select_new_backend => 1, ); } elsif ( $err =~ m{timeout}i ) { $self->render( 'gateway_timeout', - message => $err, - status => 504 + message => $err, + status => 504, + select_new_backend => 1, ); } else { diff --git a/templates/bad_gateway.html.ep b/templates/bad_gateway.html.ep index ca691884602598a2e771c03523c5024d50dfe8e5..07bf29e031144fa098528fb39c8e6f3bf57e82ad 100644 --- a/templates/bad_gateway.html.ep +++ b/templates/bad_gateway.html.ep @@ -6,7 +6,12 @@

Das von travelynx genutzte Backend hat einen Fehler zurückgegeben. travelynx hat keine Möglichkeiten, diese Situation zu beheben. - Versuche es in ein paar Sekunden bis Minuten noch einmal. + % if (stash('select_new_backend')) { + Versuche es in ein paar Sekunden bis Minuten noch einmal oder wähle ein anderes Backend. + % } + % else { + Versuche es in ein paar Sekunden bis Minuten noch einmal. + % }

diff --git a/templates/gateway_timeout.html.ep b/templates/gateway_timeout.html.ep index 86e844da1d5c65a5b14b78803d15a893a5cd0403..9cf8690968e3200d124efeee9c28a7245c5b4cc1 100644 --- a/templates/gateway_timeout.html.ep +++ b/templates/gateway_timeout.html.ep @@ -6,7 +6,12 @@

Das von travelynx genutzte Backend hat nicht rechtzeitig reagiert. travelynx hat keine Möglichkeiten, diese Situation zu beheben. - Vrsuche es in ein paar Sekunden bis Minuten noch einmal. + % if (stash('select_new_backend')) { + Versuche es in ein paar Sekunden bis Minuten noch einmal oder wähle ein anderes Backend. + % } + % else { + Versuche es in ein paar Sekunden bis Minuten noch einmal. + % }