Une chose intéressante que vous pourriez faire est d'utiliser gnu parallel : http://www.gnu.org/s/parallel/ Par exemple, si vous avez parcouru les sites en ligne (spidering) :
stackoverflow.com, stackexchange.com, fogcreek.com
vous pourriez faire quelque chose comme ceci
(echo stackoverflow.com; echo stackexchange.com; echo fogcreek.com) | parallel -k your_spider_script
et la sortie est mise en mémoire tampon par parallel et, grâce à l'option -k, vous est renvoyée dans l'ordre de la liste des sites ci-dessus. Un exemple réel (essentiellement copié à partir du 2ème screencast de parallel) :
~ $ (echo stackoverflow.com; echo stackexchange.com; echo fogcreek.com) | parallel -k ping -c 1 {}
PING stackoverflow.com (64.34.119.12): 56 data bytes
--- stackoverflow.com ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
PING stackexchange.com (64.34.119.12): 56 data bytes
--- stackexchange.com ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
PING fogcreek.com (64.34.80.170): 56 data bytes
64 bytes from 64.34.80.170: icmp_seq=0 ttl=250 time=23.961 ms
--- fogcreek.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 23.961/23.961/23.961/0.000 ms
Quoi qu'il en soit, je vous laisse le soin d'en juger.