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

WinDev Discussion :

[WD11] FTPGet - Fonction très lente lorsque beaucoup de fichiers


Sujet :

WinDev

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 114
    Points : 76
    Points
    76
    Par défaut [WD11] FTPGet - Fonction très lente lorsque beaucoup de fichiers
    Bonjour,

    Je débute dans WinDev (Windev 11) mais j'ai réussi a faire déjà un bon petit programme qui gère la communication de fichiers PDF entre 2 serveurs FTP. Voici une petite explication de celui-ci :

    Je récupère plusieurs références (50.000) dans une base de données. Cette référence est le nom d'un fichier qui se trouve sur un serveur FTP. Tous les fichiers en question sont dans un seul répertoire, celui-ci est assez énorme (plus de 430.000 fichiers).

    Mon problème est que lorsque je fais un FTPGet d'un des fichiers, j'ai l'impression que il regénère la liste de tous les fichiers dans le "cache" du programme, ce qui fait que je perds 5 minutes entre chaque demande de fichier.

    Est-ce que quelqu'un aurait une idée pour améliorer les performances de cette procédure ?

    Voici un morceau du code en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    WHILE SQLFetch("QRYFACT")
    		dbRefpiece = SQLCol("QRYFACT", 1)
    		dbLot = SQLCol("QRYFACT", 2)
    		dbEtude = SQLCol("QRYFACT", 3)
    		dbRefdoss = SQLCol("QRYFACT", 4)
    		dbRefIMX = SQLCol("QRYFACT", 5)
     
    		IF(dbEtude <> "" AND dbLot <> "" AND dbRefdoss <> "" AND dbRefIMX <> "") THEN
     
    			sFichierEtude = ExtractString(EDIT_FTPREPETUDES,1, "/") + "/" + dbEtude + "/" + dbLot + "/" + dbRefdoss + "/" + dbRefIMX + ".pdf"
    			sFichierTemp = fCurrentDir() + "\TEMP\" + dbRefIMX + ".pdf"
     
    			sAttribFichier = FTPAttribute(xFTPEtudes, sFichierEtude)
     
    			IF(sAttribFichier = "ERR") THEN
    				FTPGet(xFTPImagerie,dbRefpiece,fCurrentDir() + "\TEMP", PBAR_FACT)
    				IF(FTPCurrentDir(xFTPEtudes, ExtractString(EDIT_FTPREPETUDES,1, "/") + "/" + dbEtude + "/" + dbLot + "/" + dbRefdoss + "/")) THEN
    					FTPMakeDir(xFTPEtudes,ExtractString(EDIT_FTPREPETUDES,1, "/") + "/" + dbEtude + "/" + dbLot + "/" + dbRefdoss + "/")	
    				END
    				FTPSend(xFTPEtudes,sFichierTemp, sFichierEtude, PBAR_FACT)
    				fDelete(sFichierTemp)
    			END
    		END
    	END

  2. #2
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Avant tout j'ai déjà une question : Es tu sur que ce soit le ftpget qui soit lent ? As tu tracé ton code ? as tu mesuré les temps ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 114
    Points : 76
    Points
    76
    Par défaut
    Oui j'ai fait un debugging et c'est au moment de l'exécution du FTPGet que c'est très lent

  4. #4
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Désolé, je ne peux pas t'aider. Je suis en V10 et la fonction ftpget, n'existe pas dans la V10

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 114
    Points : 76
    Points
    76
    Par défaut
    Je pense avoir détecté le problème.

    Lorsque je me connecte au FTP via Telnet et que je fais les commandes PASV puis RETR d'un des fichiers en question, le FTP me renvoie l'erreur "425 Failed to establish connection."

    Je dois donc regarder à ce niveau là et pas dans Windev.

Discussions similaires

  1. BDD sur réseau très très très lent...
    Par ericain dans le forum Access
    Réponses: 12
    Dernier message: 20/02/2015, 17h17
  2. Exécution très lente lorsqu'un autre fichier est ouvert
    Par Faelucc dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/07/2010, 12h04
  3. Ouverture et fermeture de base très lent...
    Par Tofdelille dans le forum Installation
    Réponses: 6
    Dernier message: 19/09/2006, 18h51
  4. Beaucoup de div imbriqués => rendu très lent
    Par vivine10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/10/2005, 17h00
  5. SQL Server trés lent
    Par arwen dans le forum MS SQL Server
    Réponses: 18
    Dernier message: 07/11/2003, 14h45

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