Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re: Running Subroutines in Parallel

by Dinosaur (Beadle)
on Mar 26, 2002 at 17:57 UTC ( [id://154455]=note: print w/replies, xml ) Need Help??


in reply to Running Subroutines in Parallel

I'm not positive that I understand what you're trying to do (e.g., what's an RRD?) -- but assuming that I'm close, I'd propose a low-tech solution. Start all the system commands simultaneously and pipe their output back to you:
open(VMSTAT, "vmstat |"); open(CPUSTAT, "cpustat |"); open(...
Then use select (the 4-element version, not the output file select) to let you know when to read each of the pipes. You'll end up reading them in random order (depending on the timing of each command producing its output), but if that matters, you can collect everything and output your results when you've got them all.

Select is a bit cumbersome to use (good example in the Camel book). Perhaps you get the parallelism you need just by starting the commands in parallel. Then just read from them one at a time. Do you need to read just one line from each command, or are you expecting multiple lines?

-- Dino

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://154455]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2024-04-20 01:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found