IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment mettre en place le multithreading curl


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    378
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 378
    Points : 94
    Points
    94
    Par défaut Comment mettre en place le multithreading curl
    Bonsoir,

    Ci dessous une portion de mon script.
    Il fonctionne mais de façon séquentielle.

    J'aimerai pouvoir paralléliser les requetes.

    Sachant que le premier appel de request_curl est pour charger une page (ou plusieurs pages) qui contient des liens sur d'autres pages

    ensuite dans la boucle le second request_curl fait appel à ces pages pour ensuite les analyser aussi.

    La limite est pour arrêter le mécanisme lorsqu'il y a un nombre identique d'entrée par rapport au contenu déjà existant dans la base.

    Il y a 2 axes à paralléliser
    - la page principale
    - les pages secondaires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    public function observer($limit=13){
    		$ok = 1;
    		$pageObs = 1;
    		$cptOk = 0;
     
    		while($ok && $cptOk < $limit){
    			$url = $this->lien_observer.$pageObs;
     
    			$content = $this->request_curl($url);
     
    			$resultObs=$this->extraitListeObjets($content);
     
    			$nbTabObs = count($resultObs);
     
    			$iObs=0;
     
     
    			while($iObs < $nbTabObs && $cptOk < $limit){
    					$url2 = $this->lien_objet.$resultObs[$iObs];
     
    				$content = $this->request_curl($url2);
    				$resultObj=$this->controlePage($content,$url2,1);
     
     
    				if($resultObj == 0){
    					$cptOk++;
    				}
    				else if($resultObj == 1){
     
    $cptOk=0 ;
    				}
    				$iObs++;
    				flush(); 
    				ob_flush(); 
    			}
    			if($cptOk >= $limit)
    				$ok = 0;
    			if($ok)
    				$pageObs++;
    		}
    	}
    Merci car je ne vois pas comment

  2. #2
    Membre éprouvé Avatar de Shuty
    Homme Profil pro
    Ingénieur en développement
    Inscrit en
    Octobre 2012
    Messages
    630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur en développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 630
    Points : 1 174
    Points
    1 174
    Par défaut
    Thread PHP
    Tu peux également faire du run in background si besoin tu éprouves.
    Agence web Dim'Solution, créateur de solutions numériques
    Sites internet, ecommerce, logiciels, applications mobiles, référencement (SEO), plugin Prestashop, Magento, WordPress, Joomla!...

    Cours de trading gratuit | Envoyer des sms gratuitement | Envoyer des fax gratuitement | Plateforme de Fax à l'international

Discussions similaires

  1. Comment mettre en place un système de Log ?
    Par kinkin59 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 29/05/2006, 12h17
  2. [MySQL] Comment mettre en place un système de commentaires
    Par mickdu90 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 19/04/2006, 10h48
  3. [Timer] Comment mettre en place un genre de timer ?
    Par freddyboy dans le forum MFC
    Réponses: 6
    Dernier message: 04/08/2005, 10h50
  4. Réponses: 5
    Dernier message: 28/07/2004, 11h39
  5. Comment mettre en place une structure 3 tiers.
    Par WOLO Laurent dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 27/07/2003, 22h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo