[taskflow][all] Taskflow still using removed asyncore
Hi, As per this document: https://docs.python.org/3/whatsnew/3.12.html
Removed asynchat and asyncore
These two modules have been removed according to the schedule in PEP 594, having been deprecated in Python 3.6. Use asyncio instead. (Contributed by Nikita Sobolev in gh-96580.)
Therefore, building the taskflow package (and many other packages that depends on it, like Cinder) fails. Can someone write a patch to get rid of the use of asyncore? Will using asincio instead fail because of our use of Eventlet? Cheers, Thomas Goirand (zigo)
On Tue, 12 Dec 2023 at 09:29, Thomas Goirand <zigo@debian.org> wrote:
Hi,
As per this document: https://docs.python.org/3/whatsnew/3.12.html
Removed asynchat and asyncore
These two modules have been removed according to the schedule in PEP 594, having been deprecated in Python 3.6. Use asyncio instead. (Contributed by Nikita Sobolev in gh-96580.)
Therefore, building the taskflow package (and many other packages that depends on it, like Cinder) fails.
Can someone write a patch to get rid of the use of asyncore? Will using asincio instead fail because of our use of Eventlet?
There's a pyasyncore module that's effectively the asyncore from py3.11: https://pypi.org/project/pyasyncore/ Corey (ubuntu) is packaging it ( https://bugs.launchpad.net/ubuntu/+source/python-pyasyncore/+bug/2046160) into Ubuntu, after it was discussed here: https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.... Hope this is useful. Cheers Alex. -- Alex Kavanagh OpenStack Engineering - Canonical Ltd
The asyncore module is only used by one file in taskflow ( https://opendev.org/openstack/taskflow/src/branch/master/taskflow/engines/ac... ) And the class in this file is only used when creating a "parallel" taskflow engine (the default is "serial") with a ProcessPool executor. I didn't find any use of a parallel engine with a ProcessPool executor in codesearch, many projects use the default serial engine, and the projects that use the parallel engine use a ThreadPool executor. Maybe we could consider removing this process executor class if nobody uses it. On Tue, Dec 12, 2023 at 10:25 AM Thomas Goirand <zigo@debian.org> wrote:
Hi,
As per this document: https://docs.python.org/3/whatsnew/3.12.html
Removed asynchat and asyncore
These two modules have been removed according to the schedule in PEP 594, having been deprecated in Python 3.6. Use asyncio instead. (Contributed by Nikita Sobolev in gh-96580.)
Therefore, building the taskflow package (and many other packages that depends on it, like Cinder) fails.
Can someone write a patch to get rid of the use of asyncore? Will using asincio instead fail because of our use of Eventlet?
Cheers,
Thomas Goirand (zigo)
participants (3)
-
Alex Kavanagh
-
Gregory Thiemonge
-
Thomas Goirand