Je construis un robot qui extrait des informations en parallèle d'un certain nombre de sites Web en temps réel en réponse à une demande de cette information d'un client. Je dois demander des pages spécifiques de 10 à 20 sites Web, analyser leur contenu pour des extraits d'informations spécifiques et renvoyer cette information au client le plus rapidement possible. Je veux le faire de manière asynchrone, afin que le client obtienne le premier résultat affiché dès qu'il est prêt, alors que les autres demandes sont toujours en attente. J'ai un arrière-plan Ruby, et préfèrerais donc construire la solution dans un Ruby - cependant, le parallélisme et la vitesse sont exactement ce que Ruby est connu pour ne pas exceller. Je crois que des librairies telles que EventMachine et Typhoeus peuvent y remédier, mais je pense aussi fortement au node.js, car je connais assez bien le javascript et semble être construit pour ce genre de chose. Quoi que je choisisse, j'ai aussi besoin d'un moyen efficace de communiquer les résultats au client. Je considère AJAX simple (mais cela nécessiterait d'interroger le serveur), les sockets Web (mais cela nécessiterait fallback pour les navigateurs plus anciens) et des solutions spécifiques pour la communication client/serveur persistante tels que Cramp, Juggernaut et Pusher.Bonne bibliothèque/plate-forme pour un robot d'exploration HTTP en temps réel/parallèle?
Quelqu'un a-t-il de l'expérience et/ou des recommandations qu'il aimerait partager?
+1 pour JRuby car il peut gérer vrai multi-thread, mais je suppose que 1,9 travailleraient ainsi que – rogerdpack