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
Add apply
apply_async
methods
#63
Comments
It's possible to add them and even though it's not hard to, it would require quite some engineering work. I'm currently swamped in other responsibilities, so if anyone wants to take a stab at it, then that would be appreciated. I might have some time later this year, but can't promise anything in the short term. |
@sybrenjansen Can you please describe what needs to be done? |
@thedrow We would basically be implementing the The The
Then, there's one more worry. What if people call I think that's about it. Quite some work as I told you. But if anyone wants to take a stab at it, be my guest :) |
FYI: I'm currently taking a stab at this. I'm making some architectural changes in the process, which will make adding apply-like functions a lot simpler. It's quite a bit of work, though, so it will take a while. |
That's great. |
@thedrow that's very cool. I'll better get to it then ;) |
Quick status update. I have the functionality working. Need a bit of time still to clean things up, write some additional docs and get it reviewed. I expect to have it completely ready in a week or two |
* Added the apply and apply_async functions (Fixes #63) * When inside a Jupyter notebook, the progress bar will not automatically switch to a widget anymore. tqdm cannot always determine with certainty that someone is in a notebook or, e.g., a Jupyter console. Another reason is to avoid the many errors people get when having widgets or javascript disabled (Fixes #71) * The dashboard.connect_to_dashboard function now raises a ConnectionRefused error when the dashboard isn't running, instead of silently failing and deadlocking the next map call with a progress bar (Fixes #68) * Added support for a progress bar without knowing the size of the iterable. It used to disable the progress bar when the size was unknown * Changed how max_tasks_active is handled. It now applies to the number of tasks that are currently being processed, instead of the number of chunks of tasks, as you would expect from the name. Previously, when the chunk size was set to anything other than 1, the number of active tasks could be higher than max_tasks_active * Updated some exception messages and docs (Fixes #69) * Changed how worker results, restarts, timeouts, unexpected deaths, and exceptions are handled. They are now handled by individual threads such that the main thread is more responsive. The API is the same, so no user changes are needed * Mixing multiple map calls now raises an error (see docs) * Fixed a bug where calling a map function with a progress bar multiple times in a row didn't display the progress bar correctly * Fixed a bug where the dashboard didn't show an error when an exit function raised an exception --------- Co-authored-by: sybrenjansen <sybren.jansen@gmail.com>
Released in v2.7.0 (@thedrow @riyadparvez ) |
The standard multiprocessing module supports
apply
apply_async
methods. Can support for these methods be added?The text was updated successfully, but these errors were encountered: