The multiprocessing pool is not working in Zope/Plone external methods because the Zope/Plone environment is not process-safe. This means that multiple Python processes cannot safely share the same Zope/Plone object instances, such as the request object or persistent objects. The multiprocessing module creates new processes and attempts to pass objects between them, which can lead to errors when working with Zope/Plone objects.
The TypeError indicating that it was expecting a string or Unicode object, but instead found NoneType is likely caused by a failure in passing an object to the multiprocessing pool. When this happens, None is returned instead of the expected string or Unicode object, leading to the error.
To work around this issue, it is recommended to use other concurrency approaches that work well with Zope/Plone, such as using Zope's built-in threaded approach or using an asynchronous framework like asyncio.
Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss
Asked: 2023-07-04 09:12:43 +0000
Seen: 9 times
Last updated: Jul 04 '23
How can popen() be used to direct streaming data to TAR?
In Python, can a string be utilized to retrieve a dataframe that has the same name as the string?
What is the method for merging field value and text into a singular line for display?
What is the method for programmatic access to a time series?