Bonjour,
Je ne me rappelle plus s'il est possible de créer une page web afin d'avertir les utilisateurs s'il une requête POST ou GET est trop longue et générant un timeout.
Merci
Bonjour,
Je ne me rappelle plus s'il est possible de créer une page web afin d'avertir les utilisateurs s'il une requête POST ou GET est trop longue et générant un timeout.
Merci
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Bon,
Mon souci est un peu plus complexe. En fait, une page web n'est pas accessible dans un délai du timeout, on a une erreur 408 (Request Timeout : Le temps d'attente de la réponse du client est écoulé). Mais dans mon cas, c'est un peu différent car j'affiche des informations sur la page au fur et à mesure.
Mais, si au bout de 300 secondes (timeout par défaut), ma page n'est pas complétement affichée, le programme s'arrête.
Comment intercepter la fin du timeout afin de personnaliser un message d'erreur.
Merci
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Bonjour ,moi aussi j'ai le même soucis que vous
je veux personnaliser cette page mais je n'arrive pas à faire:
j'ai rédirigé ErrorDocument 408(ds httpd.conf) vers une page d'erreur personnalisée;mais le message fatal error maximum execution time est encore affichée
Alors ,si quelqu'un peut m'aider à faire![]()
Ce n'est pas moi qui arrête la page. Je ne sais pas si c'est apache qui arrête le programme cgi car je n'ai pas pas de page de timeout.
C'est soit le navigateur qui en a marre d'attendre ou bien apache qui arrêt le programme.
Mes tests s'effectuent actuellement sous EasyPHP.
Merci de ton aide
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Autre remarque.
J'ai un programme PHP qui lance un programme cgi. Ce dernier affiche quelques informations sur la page puis effectue une requête sur une base de données toutes les toutes les 10 secondes et dort pendant 5 sec (sleep). Si la requête ne donne rien, il recommence la requête, ainsi de suite. Le programme fonctionne correctement. Mais j'ai un cas particulier où le programme va durer ainsi pendant 3 heures environ. Pendant ce temps, rien n'est donc affiché dans la page web. Mais au bout d'un certains temps. Le navigateur firefox met terminé, alors que le programme n'était pas fini. Je n'ai donc pas de message d'erreur, ni de page de timeout. J'ai juste le programme qui a été arrêté par le navigateur (ou apache), je ne sais pas.
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
C'est différent comme use case : tu veux faire durer un programme 3h, pas qu'Apache envoie un message d'erreur custom.
Dans ce cas, c'est Firefox qui en a marre et qui coupe la connexion, et parce que la connexion est coupée, Apache arrête le traitement PHP. Pour contourner le programme, envoie un caractère à la noix genre un espace après chaque requête, histoire qu'Apache envoie régulièrement des données à Firefox et que ce dernier soit content et ne fasse pas partir la connexion en timeout. Assure-toi aussi que le buffer de sortie de PHP est désactivé, histoire d'être sûr que chaque espace est aussitôt envoyé au navigateur, pas lorsque le buffer est plein.
Soit dit au passage, ce n'est pas génial du tout de procéder de la sorte : le Web n'est pas du tout prévu pour les tâches de longues durées. Il faut plutôt partir sur une autre approche : un programme ordonnancé (par cron ou tout autre mécanisme) qui ne dépend pas d'une connexion pour s'exécuter et qui logue régulièrement dans une table par exemple un état de son avancement, et ton navigateur qui va juste consulter cette table.
Partager