php - attente assez longue

Modérateurs : Ligevum, Crepuscule, Wargaming, Okracoke, Simerion, Heroes, Bestiaire, Exsulare, terato, pentacle, Nainwak

Répondre
Sphaks
Trésorier de l'Association
Messages : 14
Enregistré le : 14 déc. 2005, 14:35

php - attente assez longue

Message par Sphaks »

Bonjour,

Voici le contexte de mon problème :
Je veux utiliser un service externe via une API.
Cette API fonctionne en deux temps.
Dans un premier temps, on ouvre une URL de type POST pour uploader un fichier. On reçoit alors un identifiant en retour.
Dans un second temps, il faut aller voir sur une autre URL si le traitement a été réalisé. Lorsque le traitement est en cours, la page contient "Revenez plus tard". Lorsque le traitement est terminé, la page contient les données souhaîtées (du XML).

Mon problème :
Le traitement peut prendre 30 secondes, voire une bonne minute.
Dans un script php, est-il envisageable de faire un sleep de 30 secondes ? 1 minute ?
Quel est le pire temps d'exécution d'un script avant qu'Apache ne considère qu'il est bloqué/infini ? Cela dépend de la configuration j'imagine ?
Avatar du membre
Aquanum
Messages : 187
Enregistré le : 25 juil. 2006, 13:28
Contact :

Message par Aquanum »

A priori dans ton cas tu dois pouvoir régler le max_execution_time dans php.ini et le mettre plus que 30 secondes.

Dans simerion, j'ai un script qui génère les cartes des planètes. Il regroupe 64800 images qu'il reduit pour avoir une minimap réaliste et fidèle au terrain. Ce script dure plusieurs minutes et nécessite beaucoup de mémoire.
J'ai souvenir que la mémoire RAM par défaut dans le PHP.ini ne suffisait pas non plus ^^

Enfin tout ça est paramétrable depuis le php.ini normalement :)
Avatar du membre
Haiken
Président de l'Association
Messages : 666
Enregistré le : 01 avr. 2004, 09:00

Message par Haiken »

à priori le temps passé dans un sleep() ne compte pas dans la limite dans 30 secondes du max_execution_time donc tu peux essayer et nous faire un retour ;)

au-delà, tu va tomber sur le temps d'attente soit de fcgi, soit d'apache qui doit normalement être beaucoup plus élevé (~5 minutes)
Avatar du membre
Aquanum
Messages : 187
Enregistré le : 25 juil. 2006, 13:28
Contact :

Message par Aquanum »

hum ma réponse devait être à côté de la plaque je pense. Désolé si c'était pas le type de réponse que tu attendais :P
Avatar du membre
Haiken
Président de l'Association
Messages : 666
Enregistré le : 01 avr. 2004, 09:00

Message par Haiken »

ben c'est surtout que son php.ini à lui, ben il en a pas, mais ça tu pouvais pas le savoir :lol:
Avatar du membre
Aquanum
Messages : 187
Enregistré le : 25 juil. 2006, 13:28
Contact :

Message par Aquanum »

ah ^^ ouki
Sphaks
Trésorier de l'Association
Messages : 14
Enregistré le : 14 déc. 2005, 14:35

Message par Sphaks »

Un petit retour pour corroborer la théorie d'Haiken.
J'ai testé un sleep de 2 minutes.
Ça marche.
Voilà.
Répondre