Worker killed by ping-pong health check when calling C/Java code via Python interface #2677
Unanswered
Dhavaleswar
asked this question in
Potential Issue
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
After upgrading to uvicorn 0.30.0 from 0.29.0, my API endpoint that calls a Python interface to a C library (which in turn calls Java code) fails to work. The worker porcess is killed due to the new ping-pong health check mechanism. This setup works fin in Uvicorn 0.29.0 where the ping-pong check is not present. If I hack the library and retur True always for is_alive method of uvicorn.supervisors.multiprocess.Process.is_alive the entire setup works again => ping-pong mechanism is not working. All version of uvicorn starting from 0.30.0 and above, I'm facing this issue
If I hack the is_alive(timeout=5) to higher timeout values it works. I hope if there can be some setting in future versions to modify this timeout.
Python version: 3.11.9
Uvicorn version: 0.30.0 (>=0.30.0)
OS: Windows 11
Beta Was this translation helpful? Give feedback.
All reactions