> Hi, I have a bit of a cold today so I probably would have figured this > out for myself eventually but hey ;-) > > Right I have a script that I need to run around 90 times thru a cron job > but passing a different i.d. to it each time. > > I have experimented with running all 90 at once and its a no go as it > just makes the server run to slow and the session cookies I use time out > (I am doing some libcurl things). > > Also running them in a loop one at a time is no use because it takes > about 8 hours. > > What I would like to do is fork off say 5-10 at a time and when one is > done start another one in its place, as they all take different length > of times to compleate. > > Any clues at where to start? Here is my fork all 90+ code... > > $sql = "SELECT * FROM locations WHERE parent = '0'"; > $res = mysql_query($sql) or die ($sql.mysql_error()); > while($data = mysql_fetch_array($res)){ > exec("/usr/local/bin/php fork.php ".$_data["id"]." > /dev/null &"); > }
You should be able to find out about the PID's for every forked process, and use a loop (advisable with a sleep() in it) to see how many procs are still running.. When the amount drops somewhat, spawn another .. Hope will get you somewhere! -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php