Comments (11)
yep, also ran into this problem quiet often :)
i think it would be good to have this double-piping-magic, maybe a fallback could be added to get the old behavior, in case someone really needs 'one process per item'.
from parallel.
can you try to merge/add it, or should i give it a try ?
from parallel.
I can definitely merge it in. It may be a while before I get a chance to do it.
-Nick
from parallel.
Great, made myself an reminder to do it in 1 week, hope you can beat me :)
from parallel.
any progress ?
from parallel.
nope sorry. :-(
from parallel.
then ill give it a try tomorrow, already had a close look at the code :>
from parallel.
im finished so far (its on the 'worker' branch)
only thing i do not understand:
- why rescue from Interrupt, when does it happen / why is it bad ?
- why wait for the processes after the threads are joined, the processes should have finished by then / can be killed
from parallel.
rescue from interrupt so that if you have 10 parallel processes, and one blows up, you don't get multiple stack traces. It's easier to debug forking issues this way. Not necessary, just helpful.
You have to either wait or detach a process or it could go zombie on you. This is very important if someone is using parallel in a long running process, like rails. The thread could have joined because the pipe broke, but the process could keep going. Believe me, you want it to hang on wait when something goes wrong, not just keep going. You could replace wait with kill if you want, but I think wait is better. Definitely don't detach. That could get crazy.
from parallel.
fixed in 0.5.0
from parallel.
Very cool. I'd like to try this out with parallel_tests, to see if it improves testing performance.
EDIT: never mind. I see you shell out in groups so it probably won't do too much in that case.
from parallel.
Related Issues (20)
- Rails 6.0.3: *** stack smashing detected *** HOT 3
- Process.fork is not supported by this Ruby HOT 7
- What is the recomended way to implement a semaphore or lock using this library? HOT 1
- Parallel causes a net slowdown HOT 6
- The problem with Parallel Gem and The MySQL server is running with the --read-only HOT 2
- How is it to more simply using that ActiveRecord::Base.connection.reconnect? HOT 2
- About parallel connection logic HOT 1
- ZeroDivisionError: float division by zero HOT 1
- Sidekiq + Parallel performance issues HOT 1
- Hangs indefinitely when used with EventedFileUpdateChecker HOT 5
- Use '{}' can't concat string properly HOT 1
- parallel groupby HOT 1
- net_http_args nil class exception HOT 2
- Segmentation fault HOT 10
- [feature] finish_in_order - process finish hook in the original order HOT 7
- looking for more high level documentation HOT 1
- Ruby 3.5 to drop `win32ole` HOT 2
- rubocop --parallel failing with "negative array size" HOT 15
- Parallel.map sometimes hangs for two minutes when collecting processes HOT 7
- compatibility with ruby-progressbar (and csv) HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from parallel.