| |
Membre enregistré 70 messages Popularité : +1 (1 vote) |
|
Posté le 24 octobre 2016 - 18:15 |
Bonjour,
Je développe actuellement une application qui récupère le nom d'un fichier pdf enregistré par une application tierce (ici adobe Illustrator) dans un répertoire surveillé ("fSurveilleRépertoire") afin de retrouver le fichier natif (au format Illustrator et portant le même nom). En utilisant "flistefichier" sur un disque local, la recherche est quasi instantanée. Par contre, sur un NAS (dans mon cas, un Synology) il faut environ 30 secondes. J'aimerai savoir si il y a un moyen de réduire ce temps d'attente car j'ai essayer d'indexer dans une base HFSQL tous les fichiers du NAS par contre je ne peut détecter les créations et suppressions avec "fsurveillerépertoire" (partition en ext4). Est-il possible d'utiliser la fonction de recherche Windows qui est plus rapide que "Flistefichier" pour la recherche d'un fichier réseau et de récupérer l'emplacement?
Merci pour vos retours !
-- Julien |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 204 messages Popularité : +4 (8 votes) |
|
Posté le 24 octobre 2016 - 19:45 |
Est-ce que l'explorateur windows a sensiblement le même délai de 30sec pour lister tous les fichiers dans le répertoire concerné?
Si oui, tu ne pourras pas faire grand chose. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 70 messages Popularité : +1 (1 vote) |
|
Posté le 24 octobre 2016 - 20:18 |
Le délai de la recherche faite avec Windows est de 5 à 10 secondes en général donc beaucoup plus intéressant. L'accès sur le NAS en utilisant l'explorateur de Windows pour parcourir les fichiers est lui aussi extrêmement rapide. J'ai activé l'indexation sur le NAS mais ça ne change pas grand chose sur mon projet WinDev. c'est pourquoi si il y a possibilité d'utiliser la recherche de Windows, ça fera gagner du temps !
Merci
-- Julien |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 257 messages Popularité : +35 (37 votes) |
|
Posté le 24 octobre 2016 - 23:01 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 70 messages Popularité : +1 (1 vote) |
|
Posté le 25 octobre 2016 - 09:22 |
Merci Baptiste pour cette suggestion.
Mon soucis c'est que sur mon réseau j'ai une quarantaine de poste avec des systèmes différents : - Windows : de XP (obligation pour certaines machines) au Windows 10 - Linux : Ubuntu et Fedora pour certaines machines également - Mac : du 10.4 au 10.11 suivant l'âge de l'ordinateur donc pour l'iSCSI je ne pense pas que cela soit possible.
-- Julien |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 204 messages Popularité : +4 (8 votes) |
|
Posté le 25 octobre 2016 - 14:06 |
As-tu essayé de mapper le NAS à l'aide de "Connecter un lecteur réseau" ? et de faire les recherches sur ce drive la?
Tu pourrais soit le mapper à tous le monde 1 fois, ou voir si c'est possible de le faire par programmation selon l'OS de l'usager.
À mon avis, le délai d'accès entre la recherche window et celle fourni par windev est le même, simplement qu'avec windev, il se connecte/reconnecte plusieurs fois ce qui augmente le délai.
Connecter le lecteur réseau pourrait éviter ce genre de connexion/déconnexion.
en windev c'est RéseauConnecte
https://doc.pcsoft.fr/fr-FR/?3066002 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 70 messages Popularité : +1 (1 vote) |
|
Posté le 25 octobre 2016 - 15:05 |
J'avais essayé de mapper un partage mais ça ne changeait pas grand chose Je pense que c'est au niveau de mon code qu'il y a problème je fait "flisteFichier" pour répertorier les fichiers puis après je recherche avec "pour tout chaine de..."
sListe,sFichier sont des chaînes
sListe=fListeFichier(gsEmplacementSurveillé+["\"]+"*.*",frRécursif+frSansFichierCaché+frSansRépertoireCaché)
POUR TOUT CHAINE sFichier DE sListe SEPAREE PAR RC SI sfichier=toto ALORS SORTIR... Je viens de me rendre compte que je peux exécuter une procédure avec "flistefichier"... ça pourrait accélérer la recherche..... je me demande si "flistefichier" ne se sert pas aussi de l'indexation des fichiers c'est pourquoi sur mon disque contenant 23000 fichiers, c'est instantané alors que sur un disque distant d'environ 50000 fichiers, ça prends du temps...
Merci à toi pour ton suivi !
-- Julien |
| |
| |
| | | |
|
| | |
| |
Posté le 25 octobre 2016 - 15:19 |
Bonjour
1. c'est plus lent avec la l'exécution de procédure qu'en récupérant tous les fichiers dans une chaine et en traitant ensuite
2. Tu ne veux que les pdf, donc remplace ton "*.*" par "*.pdf"
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 10/25/2016 à 7:05 AM, Julien a écrit :
J'avais essayé de mapper un partage mais ça ne changeait pas grand chose Je pense que c'est au niveau de mon code qu'il y a problème je fait "flisteFichier" pour répertorier les fichiers puis après je recherche avec "pour tout chaine de..." sListe,sFichier sont des chaînes
sListe=fListeFichier(gsEmplacementSurveillé+["\"]+"*.*",frRécursif+frSansFichierCaché+frSansRépertoireCaché)
POUR TOUT CHAÎNE sFichier DE sListe SEPAREE PAR RC si sfichier=toto alors sortir... Je viens de me rendre compte que je peux exécuter une procédure avec "flistefichier"... ça pourrait accélérer la recherche..... je me demande si "flistefichier" ne se sert pas aussi de l'indexation des fichiers c'est pourquoi sur mon disque contenant 23000 fichiers, c'est instantané alors que sur un disque distant d'environ 50000 fichiers, ça prends du temps... Merci à toi pour ton suivi ! -- Julien |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 70 messages Popularité : +1 (1 vote) |
|
Posté le 25 octobre 2016 - 17:01 |
Je recherche le fichier natif qui porte le même nom mais n'est pas forcément un PDF. ça peut être une image (jpeg, Tiff ou Photoshop) ou bien un Indesign, ou un Illustrator. ces fichiers sont envoyés sur un RIP d'impression avec un moteur APPE (fichier pdf exclusivement)
Je vais utilisé un moyen détourné , en synchronisant mon serveur (50000 fichiers images ou vectoriel, environ 400Go) avec un pc de façon à pouvoir utiliser la surveillance de répertoire pour créer une base de données. C'est assez lourd mais ça pourra permettre aux utilisateur de rechercher dans une BDD plutôt que sur un disque
Merci pour votre aide !
-- Julien |
| |
| |
| | | |
|
| | |
| |
Posté le 25 octobre 2016 - 17:19 |
Bonjour Julien
dans ce cas, puisque tu as le nom du pdf, cherches sur NomDuPDFSansL'extension+".*"
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 10/25/2016 à 9:01 AM, Julien a écrit :
Je recherche le fichier natif qui porte le même nom mais n'est pas forcément un PDF. ça peut être une image (jpeg, Tiff ou Photoshop) ou bien un Indesign, ou un Illustrator. ces fichiers sont envoyés sur un RIP d'impression avec un moteur APPE (fichier pdf exclusivement)
Je vais utilisé un moyen détourné , en synchronisant mon serveur (50000 fichiers images ou vectoriel, environ 400Go) avec un pc de façon à pouvoir utiliser la surveillance de répertoire pour créer une base de données. C'est assez lourd mais ça pourra permettre aux utilisateur de rechercher dans une BDD plutôt que sur un disque
Merci pour votre aide !
-- Julien |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 70 messages Popularité : +1 (1 vote) |
|
Posté le 26 octobre 2016 - 08:33 |
Merci Fabrice !
Je gagne du temps en effet à déclarer directement dans "flistefichier" le nom du fichier que je recherche
-- Julien |
| |
| |
| | | |
|
| | |