bpo-39812: Remove daemon threads in concurrent.futures by aeros · Pull Request #19149 · python/cpython
I'm actually depending on this behavior and my code breaks in Python 3.9. Is there a way to set the threads to be daemon? The error I got:
Traceback (most recent call last):
File "/Users/laike9m/.pyenv/versions/3.9.0/lib/python3.9/threading.py", line 950, in _bootstrap_inner
self.run()
File "/Users/laike9m/.pyenv/versions/3.9.0/lib/python3.9/threading.py", line 888, in run
self._target(*self._args, **self._kwargs)
File "/Users/laike9m/.pyenv/versions/cyberbrain-dev@3.9.0/lib/python3.9/site-packages/grpc/_server.py", line 875, in _serve
if not _process_event_and_continue(state, event):
File "/Users/laike9m/.pyenv/versions/cyberbrain-dev@3.9.0/lib/python3.9/site-packages/grpc/_server.py", line 839, in _process_event_and_continue
rpc_state, rpc_future = _handle_call(event, state.generic_handlers,
File "/Users/laike9m/.pyenv/versions/cyberbrain-dev@3.9.0/lib/python3.9/site-packages/grpc/_server.py", line 749, in _handle_call
return _handle_with_method_handler(rpc_event, method_handler,
File "/Users/laike9m/.pyenv/versions/cyberbrain-dev@3.9.0/lib/python3.9/site-packages/grpc/_server.py", line 722, in _handle_with_method_handler
return state, _handle_unary_stream(rpc_event, state,
File "/Users/laike9m/.pyenv/versions/cyberbrain-dev@3.9.0/lib/python3.9/site-packages/grpc/_server.py", line 640, in _handle_unary_stream
return thread_pool.submit(_stream_response_in_pool, rpc_event, state,
File "/Users/laike9m/.pyenv/versions/3.9.0/lib/python3.9/concurrent/futures/thread.py", line 163, in submit
raise RuntimeError('cannot schedule new futures after '
RuntimeError: cannot schedule new futures after interpreter shutdown