Paralléliser du code PHP ?

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3577
Inscription: Mar Fév 10, 2004 16:40

Paralléliser du code PHP ?

Message le Sam Aoû 07, 2004 17:23

Bonjour,

Je réalise de temps à autre des programmes PHP utilisant l'API de Google. Le problème de ce genre de programme, c'est qu'il passe un temps non négligeable à attendre que Google renvoie la réponse à la recherche faites. Donc, vu que chaque requête contient plusieurs appels à Google, le script PHP butte souvent sur un 'PHP Time Out'.

D'où je me demandais s'il était possible de faire plusieurs appels en même temps en PHP (paralléliser le code). De cette manière, plutôt que d'attendre n x temps_de_reponse_de_Google, je n'attendrais plus que 1 x temps_de_reponse_de_Google.

Merci pour vos réponses.

fredsoft
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 242
Inscription: Dim Jan 26, 2003 22:39

Message le Sam Aoû 07, 2004 17:40

set_time_limit dans la doc php déja...


ecocentric
WRInaute accro
WRInaute accro
 
Messages: 3577
Inscription: Mar Fév 10, 2004 16:40

Message le Sam Aoû 07, 2004 17:44

fredsoft a écrit:set_time_limit dans la doc php déja...


C'est hébergé sur Online et les options de ce type ne peuvent pas être modifiées.


2dm
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 205
Inscription: Mar Sep 03, 2002 19:46

Message le Sam Aoû 07, 2004 17:53

il ia des fonctions qui permettent de faire du multi-threads. Mais à mon avis, si tu n'es pas sur un dédié, ces fonctions ne te seront pas accessibles.
A mon avis une solution que tu devrais envisagé si tu fait beaucoup de requete sera l'utilisation de frame :/ (donc une page par frame)
A défault d'être la meilleure solution, elle est sans doute dans ton cas la plus adapté.


Bool
WRInaute accro
WRInaute accro
 
Messages: 1290
Inscription: Jeu Fév 26, 2004 15:59

Message le Sam Aoû 07, 2004 17:53

mmm, là ça va être chaud...

Si PHP n'est pas en SAFE_MODE, tu peux toujours executer du PHP en shell, en tache de fond. Sinon, il y a la solution de faire tourner un autre script PHP via Apache, mais ce n'est pas très propre.

Sinon, une utilisation 100% Shell : http://www.php.net/manual/fr/ref.pcntl.php


Digit
WRInaute passionné
WRInaute passionné
 
Messages: 613
Inscription: Ven Avr 18, 2003 0:19

Message le Sam Aoû 07, 2004 18:39

Ce que je fais généralement c'est générer une page avec des images de type img src=monscript.php?param=monthread
Ensuite pour synchroniser la fin des opérations je fais un body onload="javascript:location.href='mapagefinale.php'"
Cela déclenche donc N traitements en parallèle (asynchrone) mais reste un traitement synchrone global qui identifie la fin des traitements.
Ce n'est pas très français tout ça mais l'idée y est.

fredsoft
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 242
Inscription: Dim Jan 26, 2003 22:39

Message le Sam Aoû 07, 2004 19:02

ecocentric a écrit:
fredsoft a écrit:set_time_limit dans la doc php déja...


C'est hébergé sur Online et les options de ce type ne peuvent pas être modifiées.


des que tu veux faire tourner des vrais scripts..faut oublier online c'est du hosting cheap pour débuter


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités