Stai usando Rack::Timeout? Se un'eccezione di timeout viene sollevata in modo imprevisto, esiste la possibilità di perdere lo stato. (https://github.com/heroku/rack- timeout/blob/master/doc/risks.md ).
L'incremento del numero di istruzione preparata può essere intercettato in un ciclo, creando l'errore di istruzione duplicata e non può essere ripristinato senza riavviare il processo. Suggerisci di implementare https://github.com/ankane/slowpoke per terminare/riavviare il processo quando si verifica un timeout.
Ulteriori informazioni su questo problema:
- https://github.com/ ankane/the-ultimate-guide-to-ruby-timeouts#rack-middleware
- https://github.com/heroku/rack-timeout/issues/ 76
- https://github.com/rails/rails/pull/17607
- https://github.com/rails/rails/issues/22408