简体   繁体   中英

How do I print thread backtraces upon a puma kill?

I have an app that has some operations that timeout every once in a while (given our Puma configured timeout) but given then process just dies and a new one comes over I have no way of knowing why/where the process was hung.

Is there a way for me to print all threads before Puma kills my process?

I've tried using on_worker_shutdown but that doesn't seem to be called on a timeout kill. This is a Rails 4.2 app running on Ruby 2.2.7.

You can try add a middleware that implements a time-out lower than the Puma and on this one you dumpy whatever you need/want.

It is not answering your question about Puma but might be a workaround to solve the issue that you have now.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM