Aller au contenu

fonction trop longue


adn

Sujets conseillés

Bonjour,

J'ai un outil de chargement de catalogues distants et je me demandais s'il y a un moyen de reprendre la main sur son script lorsque l'open ou la fonction de lecture prend trop de temps (serveur distant lent), ou de limiter le temps d'excution d'une fonction.

Y a-t-il une technique ?

Modifié par adn
Lien vers le commentaire
Partager sur d’autres sites

Merci Norseb de ta suggestion, mais la fonction set_time_limit() joue sur le temps d'execution du script or dans mon cas :

1/ je voudrais limiter le temps d'execution d'une fonction

2/ reprendre la main après pour afficher une erreur et passer au catalogue suivant

Ou alors peut-être y a-t-il moyen d'estimer la rapidité du serveur avant ?

Lien vers le commentaire
Partager sur d’autres sites

N'est-il pas possible, en implémentant un compteur, de stopper le process à partir de x appels à cette fonction ?

xpatval

Lien vers le commentaire
Partager sur d’autres sites

Alors (à mon avis), il n'y a aucun moyen de le faire en php.

Il faut alors détourner le problème (c'est ce que j'ai fais..), en appelant la page autrement : iframe, etc..

Au lieu de faire 'fopen' sur la page qui pose problème, tu fais fopen sur une de tes pages, qui elle même appelle la page en question (méthode 'bourrin' :D )Tu affiches le résultat dans une iframe, ce qui fait que ton site s'affiche que le serveur distant s'execute ou pas.

Lien vers le commentaire
Partager sur d’autres sites

Oui je crois que ce n'est pas possible.... :(

Ce n'est pas une page de mon site, mais une tache cron que je lance pour la mise à jour de ma base a partir de catalogues distants. Et si un des catalogues rame, il empechera la mise à jour des suivants, dur !

Deja je peux mesurer le temps du fopen et en fonction, lancer ou pas la lecture du catalogue.

Ou alors faire une tache cron par catalogue mais je ne suis pas rendu :wacko:

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...