Page 1 sur 1
Post traitement après génération d'une page
Posté : 03 nov. 2010, 17:17
par JulienPhp
Bonjour,
Je voudrais générer un contenu, l'envoyer au client, puis effectuer un traitement assez long ensuite.
Comment faire pour faire croire au client que le script Php est terminé, et qu'il cesse d'être en attente du serveur ?
Merci,
Julien.
Re: Post traitement après génération d'une page
Posté : 03 nov. 2010, 17:48
par moogli
salut,
je ne pense pas que cela soit possible, l’exécution du php est séquentiel (donc du haut vers le bas et il attend la fin d’exécution des fonctions).
@+
Re: Post traitement après génération d'une page
Posté : 03 nov. 2010, 20:00
par JulienPhp
Après une longue recherche, j'ai trouvé la solution à mon problème.
Voir dans les commentaires ceux de tom, alan et arr1 sur
http://www.php.net/manual/fr/features.c ... ndling.php
C'est tout de même dommage qu'un tel fonctionnement ne puisse pas se faire plus naturellement en Php.
1. Dans un premier temps on génère la page que l'on envoie.
2. On ferme la connexion avec le client.
3. On effectue des traitements plus lourds : mise en cache, mises à jour bdd...
L'impact doit souvent être intéressant en terme de performances.
Re: Post traitement après génération d'une page
Posté : 03 nov. 2010, 22:59
par pierreC
Et comme cela :
1. Dans un premier temps on génère la page que l'on envoie.
2. dans la page du client requête ajax en asynchrone (qui retourne ou ne retourne rien au client)
3. L'appel en ajax permet de faire tourner ce que l'ont veux sur le serveur sans que le client n'en attendent rien.
Pierre
Re: Post traitement après génération d'une page
Posté : 04 nov. 2010, 11:07
par JulienPhp
Ça ne répond pas tout à fait à ma problématique.
D'autant que dans mon cas, le client n'est pas un navigateur mais un autre serveur.
C'est résolu,
Merci.