-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Child worker process should send WORKER_UP message within 2 seconds #1715
Comments
There could be a worker_process_ready signal I guess, but optimally none of the signal handlers should be blocking for long. |
I'm getting this error but we don't have any signal handlers on init. We get this if a task has exceeded it's time limit. |
Did some stracing, and it was just because we had so many python files that it was taking to long to startup. Managed to fix it with a monkey path in the settings file:
|
We hit this too @ask - it might be pretty handy to have this as a configuration option. Lots of head scratching as a result... |
@oppianmatt Thanks for the monkey patch script. |
In case someone is still having that kind of problem, you can upgrade to 4.4.2 and use the new configuration option "worker_proc_alive_timeout" to increase init timeout. |
In our project we have global data which loaded in
Loader.on_worker_process_init
method. Sometimes it takes more than 2 seconds. In that case when child process diesAsynPool
starts new one and then kills it.There are many messages in logs:
Moving data loading into
worker_process_init
signal handler doesn't help.Now I moved loading data into
Loader.on_task_init
.Maybe there should be option or setting which could set
AsynPool._proc_alive_timeout
attribute?Or perhaps add information in docs that
worker_process_init
signal andLoader.on_worker_process_init
should be executed within 2 seconds.The text was updated successfully, but these errors were encountered: