-
Notifications
You must be signed in to change notification settings - Fork 252
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
spawnv_passfds() doesn't work on Python 3.9 #309
Comments
Downstream Fedora issue with Python 3.9: https://bugzilla.redhat.com/show_bug.cgi?id=1792056 |
ops! thanks for the report! I was planning to update the multiprocessing dependencies of billiard #292 , would you mind sharing your insight about using which version of multiprocessing codes should billiard focused on? python 2.7 or from python3.9/master? |
My patch doesn't touch the Python 2 support which is kept: it only adds support for Python 3.9. It's up to you to continue to support Python 2 or not, but it's no longer supported upstream (will no longer get security fixes). |
billiard will get py27 support till Dec 2020[PyPY] and many old enterprise users. and for celery 5 we will not be using billiard. celery 4.x will be python2 compatible with billiard and amqp 1.0 support. celery 5will be based on trio and amqp 1.0 and python 3.6+ only. |
btw patch welcome. |
I converted my inline patch into a concrete PR: PR #310. |
Python 3.9 added (umask, user, group, extra_groups) parameters to _posixsubprocess.fork_exec().
Fixed by #310 |
spawnv_passfds() function is implemented in billiard/compat.py. On Pytho 3, it calls a private Python function: _posixsubprocess.fork_exec(). The problem is that the API of this function changed in Python 3.9, it got new required parameter.
umask:
user, group, extra_groups:
You can pass default values:
Something like (you may use a different name than
args
to avoid reusingargs
name twice):The text was updated successfully, but these errors were encountered: