Bonjour à toutes et à tous,
Je publie cette discussion car je suis confronté à un problème. En effet, je débute sur python et j'aimerai avoir de l'aide sur du Threading.
Je développe actuellement un script automation pour ce connecter à un FTP, naviguer vers des dossiers et télécharger les fichiers.
Cette partie est en effet terminer mais j'aimerai pouvoir effectuer un thread afin de vérifier toutes les 20min si le téléchargement ne se déroule sans accrocs.
voici mon code de download:
class Download:
def __init__(self):
self.path="FolderFiles"
self.target=" /var/www/folder/Output"
def downloadFile(self):
for root, dirs, files in os.walk(self.path, topdown=False):
for name in files:
print(name)
rarFiles=os.path.join(root, name)
unrar = "unrar x -y "+rarFiles+self.target
os.system(unrar)
# time.sleep(10)
PS: Si vous avez d'autres propositions autre que le Thread je suis aussi à l'écoute Smiley smile
Merci de votre aide
# erreur d'algoritme
Posté par NeoX . Évalué à 2.
il se passe quoi si le telechargement prend moins de 20 min ?
il se passe quoi si le telechargement est OK, mais apres 25 minutes ?
comment verifies-tu que le telechargement est OK ?
finalement, il ne faut pas oublier qu'un script d'automatisation, ce n'est guere que "faire faire à la machine ce que tu ferais à la main".
[^] # Re: erreur d'algoritme
Posté par Palerm0_24 . Évalué à 1.
Bonjour NeoX,
Le cas est le suivant:
Le téléchargement de mes données prendra énormément de temps et j'aimerai faire un système de vérifications pendant le téléchargement que tout ce passe sans problème.
Ce sont des données qui pèse > 1To
[^] # Re: erreur d'algoritme
Posté par NeoX . Évalué à 3.
faut changer de protocole,
tant que le transfert n'est pas terminé tu ne peux pas savoir si ton fichier est complet ET correct
pour cela il a été inventé les transferts par blocs, avec des parités, qui permettent de verifier chaque bloc independamment des autres…
mais pour cela il faut decomposer ton volume >1To en fichiers plus petits
bref il te faut revoir tes concepts, reanalyser les besoins, pour trouver les bons outils
exemple les fichiers PAR
https://file.org/extension/par
[^] # Re: erreur d'algoritme
Posté par lolop (site web personnel) . Évalué à 4.
En complément, les fichiers PAR2 (format suivant de Parchive) permettent aussi, en contrepartie d'un peu plus de volume échangé, de reconstruire un des blocs (identifié comme invalide ou carrément manquant) à partir des autres. Ça a été (et c'est encore probablement) utilisé sur Usenet pour le partage de fichiers binaires volumineux.
Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN
[^] # Re: erreur d'algoritme
Posté par Palerm0_24 . Évalué à 1. Dernière modification le 06 mars 2019 à 11:21.
Bonjour Lolop,
Les fichiers de plus d'1To sont stockés en plusieurs fichiers RAR de la taille entre 100 et 200Go.
Donc le multipart est effectué sur le fichier.
[^] # Re: erreur d'algoritme
Posté par NeoX . Évalué à 2.
plusieurs RAR ou .rar pour le premier, .r01 pour le 2e, .r02 etc ?
car si ce sont des RAR independants, tu peux tester le fichier rar, et avoir un code d'erreur ou de validation pour chacun
si ce sont des rar splités (.rar, .r01, .r02) tu ne pourras faire le test qu'à la fin quand tous les morceaux seront recus
[^] # Re: erreur d'algoritme
Posté par Palerm0_24 . Évalué à 1. Dernière modification le 06 mars 2019 à 14:24.
Oui le fichier est splité en plusieurs parties, donc comme tu dis, je ne peux que tester à la fin du script…
Donc je vais revoir mon protocole
Merci bien
[^] # Re: erreur d'algoritme
Posté par NeoX . Évalué à 2.
sinon plus que FTP, tu as des protocoles qui permettent de reprendre ou ca s'est arrété, de ne transferer que ce qui a changé…
rsync par exemple
# other way
Posté par Palerm0_24 . Évalué à 1.
Après de nombreux tests, j'ai décidé de travailler de cette façon : analyser les fichiers après téléchargement en fonction de la taille, du temps de téléchargement, etc…
La bibliothèque unrar ne peut fournir aucune solution pour tester le bon déroulement du téléchargement pendant le process.
Merci pour votre aide
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.