IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Pas de timeout


Sujet :

Apache

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 59
    Points
    59
    Par défaut Pas de timeout
    Bonjour,

    Dans le fichier httpd.conf, il y a la ligne "Timeout 300" qui définit un time out de 300 secondes. Est-il possible d'avoir un timeout illimité, c'est-à-dire pas de time out, car j'ai un cgi qui doit tourner sans être arrêter à cause du timeout.

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Peut-être essayer 0 mais j'ai des doutes que ça marche (la doc ne dit rien sur le fait qu'on puisse désactiver le timeout). Maintenant, désactiver le timeout, c'est une très mauvaise idée car en le faisant, c'est la porte grande ouverte à des attaques DoS par exemple. Et de toute façon, je pense que le noyau appliquera par dessus son propre timeout. D'où la question : pourquoi devoir appeler un CGI pour un traitement aussi long ? N'est pas possible de passer par un script standard avec éventuellement un ordonnanceur ?

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 59
    Points
    59
    Par défaut
    Le cgi me permet d'avoir une connexion persistante avec un programme C++ par le biais des sockets. J'ai ainsi une communication entre mon programme C++ et le navigateur. Mais il se peut qu'il n'y a pas de transferts de données entre les 2 durant un certain temps qui est supérieur au timeout.
    Une solution serait d'envoyer une donnée "bidon" dans la socket afin d'éviter le timeout.

    Maintenant la question est lorsque le cgi est arrêté à cause d'un timeout, est-ce qu'il y a fuite de mémoire ; étant donné que le cgi est écrit en C++ ?

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ca, je ne sais pas s'il y a fuite mémoire ou pas. Le coup de l'envoi de données bidon, c'est du déjà vu, bien que pas très propre, mais si c'est la seule solution pour maintenir la connexion...

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 59
    Points
    59
    Par défaut
    Donc en résumé , soit il faut créer un thread au niveau du cgi qui envoie régulièrement (temps inférieur au timeout) au browser (avec des printf) le statut de la connection avec le programme C++ ; soit il faut faire un timer en javascript qui recharge la page avant le timeout.

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Si tu recharges la page, tu vas terminer le processus CGI en cours et en relancer un autre...

    Le plus propre c'est que ton CGI soit exécuter par un ordonnanceur et qu'il écrive ce qu'il a à dire dans une base de données ou un fichier, et que ta page Web ne fasse que consulter la base de données ou le fichier. Comme ça, ton script tourne tranquillement dans son coin sans prendre le risque qu'il soit interrompu et tu peux consulter quand tu veux ce qu'il a dit.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JAXWS] Timeout ne fonctionne pas
    Par ekremyilmaz dans le forum Services Web
    Réponses: 0
    Dernier message: 09/12/2013, 18h27
  2. TimeOut ne fonctionne pas?
    Par mactwist69 dans le forum VB.NET
    Réponses: 6
    Dernier message: 01/05/2010, 12h46
  3. CDataBase::Open bloque pas de timeout
    Par lolo le belge dans le forum MFC
    Réponses: 1
    Dernier message: 01/04/2010, 15h14
  4. [2.3.1] Problème de Timeout ou pas ?
    Par alcyares dans le forum BIRT
    Réponses: 5
    Dernier message: 11/02/2009, 15h24
  5. CAsyncSocket - Pas de timeout avec Receive
    Par MarronSuisse dans le forum MFC
    Réponses: 4
    Dernier message: 13/11/2007, 05h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo