如何在 puma kill 时打印线程回溯?

How do I print thread backtraces upon a puma kill?

我有一个应用程序有一些操作偶尔会超时(给定我们的 Puma 配置的超时)但是给定然后进程就死了并且一个新的进程过来我无法知道 why/where进程挂起。

有没有办法在 Puma 终止我的进程之前打印所有线程?

我试过使用 on_worker_shutdown,但似乎不会在超时终止时调用它。这是 Rails 4.2 应用 运行 Ruby 2.2.7.

您可以尝试添加一个实现比 Puma 低 time-out 的中间件,在这个中间件上,您可以倾倒任何 need/want。

它没有回答您关于 Puma 的问题,但可能是解决您现在遇到的问题的解决方法。