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 :

quand perl s'arrete de manière inexpliquée


Sujet :

Web Perl

  1. #21
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    c'est bien ce que je dis, ca ne me parait pas judicieux d'attendre la fin pour faire les traitements et enregistrer le tout. Tu devrais faire les traitements au fur et à mesure (ca m'a l'air possible à ce que j'ai vu) pour enregistrer au fur et à mesure que tes fichiers sont uploadés. Ou alors certains traitements se font part rapport à plusieurs fichiers, auquel cas c'est plus gênant... mais pense bien au fait que tu essaies de charger 500Mo en mémoire quand tu fais ca. Peut-être que le serveur sur lequel tu travailles à un script qui surveille la mémoire prise par Perl et que lorsque tu atteinds les 300/350Mo il coupe.

  2. #22
    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
    Bon j'ai besoin de votre aide car tout ça me depasse!!
    J'ai bossé tout le weekend pour optimiser mes scripts. Et chez moi j'ai pas de soucis.
    quand je lance mon application avec 30 fichiers (d'environ 30 Mo chacun), il m'uploade bien mes 30 fichiers, travaille dessus , fait les calculs, etc.
    Avec mon portable XP, 958 Mo Ram, ça marche bien.

    Mais voilà, au boulot sur mon MacOSX (2 Go de RAM), bah il plante au bout de 13 fichiers environ. Tous les fichiers sont bien uploadés, il effectue les calcul sur 12 fichiers et plante.

    un petit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ps -aux | grep perl
    me montre bien que perl ne tourne plus ...

    Le script s'est arrêté de tourner et j'ai le message suivant dans mes logs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Mon Jun 12 14:13:44 2006] [error] [client ::1] Premature end of script headers: analysis.pl, referer: http://localhost:8888/cgi-bin/target.pl
    Je me dis que ça doit être un problème de mémoire,
    je lance la même appli sur le serveur où elle sera installée une fois terminéei, et là rebolote, il plante dès le 8eme fichiers, pourtant c'est un serveur (MACOSX, 8 Go de RAM).
    Bref, je comprends plus rien, plus j'ai de memoire ram, plus il plante.
    J'ai pas de soucis sur XP, Win2000 (avec easyphp). Ca fait un bout temps que ça dure et ça me bloque pour tout.

    Help
    Cela demande du courage d'en tirer du plaisir
    Quand on n'a qu'un marteau, tous les problèmes ressemblent à un clou

  3. #23
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    Je crois que le mieux pour toi est de découper ton script, et de tester morceau par morceau sur ton serveur final chaque partie, limite de virer ta boucle pour faire un test en appelant d'abord un seul fichier, puis 2, puis 3, etc... pour simuler ta boucle et voir si ca plante autant lorsque tu les appelles directement...

  4. #24
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 427
    Points : 459
    Points
    459
    Par défaut
    Salut
    Je n'ai que rapidement survolé le sujet (et je ne me suis pas penché sur tes scripts) mais so j'ai bien compris tu upload/traite les 13 (ou plus) fichiers d'un seul coup c'est ca?
    Et en attendant que tout cela soit fait le navigateur attend?
    Combien de temps cela prend t il pour arriver au 13eme fichier?

    A mon avis c'est une histoire de timeout, soit du navigateur, soit d'apache lui meme.
    Tu dis que ton script etait stoppé selon le log d'apache alors qu'il continuait a trouner, donc ca ressemble bien a un timeout (et le script continu eventuellement a tourner un peu si il est sur un appel systeme et ne repond pas aux signaux).

    Tu dois pouvoir bidouiller un peu les timeout, ou meme faire quelques print entre chaque fichier pour remettre le timeout a zero. Mais à mon avis le mieux serait d'adapter ton approche pour ne traiter qu'un seul fichier par requete, en jouant eventuellement sur les redirections pour les faires à la suite autoamtiquement.
    Par exemple tu lance ta requete qui fait le traitement, puis balance une redirection 302 vers une seconde requete qui prendra le deuxieme fichier, etc..
    Recherche staigiaire(s) motivé(s) sur projet perl/reseau a grande echelle. Me contacter par mp.

  5. #25
    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
    c'est bien une histoire de Timeout!
    je viens de remplacer la valeur par défaut 300 par 3000, et mes uploads et traitements se font correctement ..
    je vais creuser la redirection 302, je ne connais pas encore ....

    En tout cas, j'ai un début de piste, et toujours la solution d'augmenter le timeout!
    Merci!
    Cela demande du courage d'en tirer du plaisir
    Quand on n'a qu'un marteau, tous les problèmes ressemblent à un clou

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Perl - processus arreté
    Par Isabella83 dans le forum Langage
    Réponses: 8
    Dernier message: 03/10/2012, 14h20
  2. [VS2005] S'arreter quand une exception est levée
    Par ZePostman dans le forum Visual Studio
    Réponses: 8
    Dernier message: 28/08/2008, 15h24
  3. [Quartz] Arreter quartz quand mon appli lance une exception
    Par Shogun dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 17/01/2008, 15h41
  4. Récupérer coords souris quand elle s'arrete de bouger
    Par seb-oulba dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/08/2006, 17h21
  5. [Perl-6 et Paroott]Quand ?
    Par parsy dans le forum Langage
    Réponses: 1
    Dernier message: 20/10/2005, 15h45

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