8797 sujets

Développement web côté serveur, CMS

Bonjour, dans le cadre d'un site de buzz, je propose des vidéos issus de dailymotion, de youtube et de rutube aussi. Pour les deux premiers j'arrive très bien à intégrer les informations issues des vidéos sur mon site grace à leur API, mais le problème réside dans Rutube. Bref j'ai pu créer un script pour régler un peu le problème. En voici le code :

<?php function file_get_contents_curl($url){$ch = curl_init();curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);$data = curl_exec($ch);curl_close($ch);return $data;}function description($param){$id = $_REQUEST["id"];$html = file_get_contents_curl("http://rutube.ru/tracks/$id.html");$doc = new DOMDocument();@$doc->loadHTML($html);$nodes = $doc->getElementsByTagName('title');$metas = $doc->getElementsByTagName('meta');for ($i = 0; $i < $metas->length; $i++){$meta = $metas->item($i);if($meta->getAttribute('property') == $param) {return $meta->getAttribute('content');}}}?>




Bref dans la page concerné par rutube, je fais appel à ce fichier, et je fais appel plusieurs fois à différents paramètres comme

<?php echo description('og:title'); ?>


L'un des problèmes est que ça rame avant de charger la page. L'autre c'est que je la suspecte de mettre en down mon site lors de la visite de Google puisque je me retrouve déclassé. Ma page index n'a pas été crawlé depuis le 7 Juin quand j'affiche la version cache. Au moment du down je trouve que mon site a atteint entry processes 20/20 et on me donne le message suivant :

You have reached entry processes (number of simultaneously running php and cgi scripts, as well as cron jobs and shell sessions) limit

Pourtant le CPU n'est consommé qu'à 20% max. Bref pensez vous que c'est ce script qui cause le problème? Comment pourrais-je résoudre le problème des entry processes?N'y a-t-il aucun moyen avec du php de reprendre le résultat de la fonction une seule fois pour l'afficher plusieurs fois, ou bien un autre moyen de ne pas avoir une page trop longue à charger? Merci d'avance.
Après quelques essais, c'est bel et bien cette fonction qui cause le problème. J'ai donc supprimé momentanemment les vidéos rutube de mon site pour permettre à Google de crawler correctement mon site sans aucun down. Sinon n'y a-t-il aucun moyen récupérer les titres des vidéos rutube avec og:title, leur image avec og:image et aussi les autres metatags sans pour autant que mes entry processes soient tous utilisés lorsque plus de 20 pages de vidéos rutube sont chargés à ce moment. Merci.