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

Web Perl Discussion :

CGI exécution trop longue


Sujet :

Web Perl

  1. #1
    Membre habitué Avatar de crochepatte
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 206
    Points : 145
    Points
    145
    Par défaut CGI exécution trop longue
    Bonjour, voila j'ai un petit soucis de conception.

    J'ai créer un cgi perl qui malheuresement necessite pas mal de temps d'execution.
    Mon probleme est que j'aimerai bien que l'utilisateur ne soit pas obligé d'attendre la fin de l'execution de ce cgi.
    Je pense qu'il faudrait que le cgi tourne mais indépendemment du navigateur. L'utilisateur aurait tout le loisir de faire autre chose et pourrait alors à l'aide d'un id verifier si l'execution est terminée. Si celle ci est terminé, les resultats sous forme html s'afficherait.

    Je ne vois pas vraiment comment réaliser cela...

    Merci

  2. #2
    Membre chevronné
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Points : 2 004
    Points
    2 004
    Par défaut
    Salut !

    Et bien, tu ne pourrais pas juste lancer le script CGI dans une autre page qu la page principale ? Comme ça, le script s'exécute dans cette page et l'utilisateur peut naviguer avec la page principale en attendant l'exécution du script
    "En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
    Application :

    ainsi qu'à regarder la avant de poser une question.

    La rubrique Perl recrute, contactez-moi.

  3. #3
    Membre habitué Avatar de crochepatte
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 206
    Points : 145
    Points
    145
    Par défaut
    non en fait il faudrait que l'execution soit independante du navigateur, que le serveur continue de l'executer...par exemple un utilisateur lancerai l'application le soir, puis éteindrai son poste et reviendrai regarder le matin les resultats ...

  4. #4
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Points : 47
    Points
    47
    Par défaut
    Je ne sais pas si tu as résolu ton problème, mais un fork fait ça très bien !

    http://perl.developpez.com/faq/?page...nC2#sectionC24

  5. #5
    Membre habitué Avatar de crochepatte
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 206
    Points : 145
    Points
    145
    Par défaut
    merci pour vos reponses...
    au final j'ai trouver un moyen de contourné le time out imposé par le navigateur web lors du lancement d'un cgi...
    Je lance le script long d'un autre cgi...
    Voila, j'ai trouve la solution à partir d'un autre post sur ce forum...

    Merci

  6. #6
    Rédactrice

    Avatar de stoyak
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 408
    Points : 1 491
    Points
    1 491
    Par défaut
    j'ai déjà posté sur ce thème, et ta solution m'intéresse .. mais je ne la comprend pas très bien! tu peux m'en dire plus?
    Cela demande du courage d'en tirer du plaisir
    Quand on n'a qu'un marteau, tous les problèmes ressemblent à un clou

  7. #7
    Membre habitué Avatar de crochepatte
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 206
    Points : 145
    Points
    145
    Par défaut
    Voila un extrait d'un autre post...

    Citation Envoyé par Jedai
    Tu fais comme je t'ai dit : 2 scripts, un se chargeant d'effectuer le calcul (script A), un se chargeant de l'affichage (script B).
    Lorsque quelqu'un demande B, B lance A et prépare une redirection dans 30 secondes vers lui-même. Lorsque B est rappelé, il regarde les résultats et l'avancement de A et si A n'a pas finit il fournit un rapport d'avancement et redirige vers lui-même dans 30 secondes, si A a finit il fournit les résultats (et ne fait pas de redirection).
    Le truc c'est de garder trace de l'avancement, et de faire ça indépendamment pour chaque visiteur, donc il te faut une solution type identifiant, que tu as peut-être déjà sur ton site.

    --
    Jedaï

    Je me suis inspiré de cela...j'ai un peu simplifié mon code car la redirection me poser probleme. Finalement j'ai opté pour un cgi de depart qui lance le script A (et lui attribue un identifiant) et redirige vers un cgi B en lui passant l'idendifiant. Le cgi B se charge de regarder si A est fini grace a son ID. Si A est toujours en cours d'execution, il affiche une page simple avec un bouton et l'identifiant de A (dans un hidden ou un text) . Le bouton permet de relancer le cgi B et donc de regarder si A est fini...Si A est fini, il presente les resultats de A.

    Voila, je sais pas si ca peut t'aider...et si c'est tres propre comme maniere de faire

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

Discussions similaires

  1. Exécution trop longue
    Par christouphh dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/04/2013, 17h53
  2. Réponses: 17
    Dernier message: 12/10/2011, 16h31
  3. Exécution trop longue d'une requête
    Par lodan dans le forum Requêtes
    Réponses: 5
    Dernier message: 13/10/2006, 15h34
  4. CGI exécution trop longue
    Par crochepatte dans le forum Apache
    Réponses: 3
    Dernier message: 18/08/2006, 15h02
  5. Requete trop longue à exécuter
    Par fguilbert dans le forum Requêtes
    Réponses: 2
    Dernier message: 29/06/2006, 10h33

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