Nous avons une configuration de système ftp à surveiller/télécharger à partir de serveurs ftp distants qui ne sont pas sous notre contrôle. Le script se connecte au ftp distant, et saisit les noms de fichier des fichiers sur le serveur, nous vérifions ensuite si c'est quelque chose qui a déjà été téléchargé. S'il n'a pas été téléchargé, nous téléchargeons le fichier et l'ajoutons à la liste.Empêcher ftplib de télécharger un fichier en cours?
Nous avons récemment rencontré un problème, où quelqu'un du côté ftp distant copiera dans un fichier unique massif (> 1GB) puis le script se réveillera voir un nouveau fichier et commencera à télécharger le fichier en cours de copie
Quelle est la meilleure façon de vérifier cela? Je pensais saisir la taille du fichier en attendant quelques secondes en vérifiant à nouveau la taille du fichier et voir si elle a augmenté, si ce n'est pas le cas, nous le téléchargeons. Mais comme le temps nous préoccupe, nous ne pouvons pas attendre quelques secondes pour chaque ensemble de fichiers et voir si la taille du fichier a augmenté.
Quelle serait la meilleure façon de faire à ce sujet, actuellement tout se fait via pythons ftplib, comment pouvons-nous faire cela en dehors de l'utilisation de la méthode susmentionnée.
Encore une fois, permettez-moi de répéter ceci, nous avons 0 contrôle sur les sites FTP distants.
Merci.
Update1:
Je pensais que si j'ai essayé de le renommer ... puisque nous avons les autorisations sur le ftp, si le téléchargement de fichiers est en cours serait la commande de changement de nom l'échec?
Nous n'avons pas de vraies options ici ... n'est-ce pas?
UPDATE2: Eh bien, voici quelque chose d'intéressant, certains des ftps testés semblent allouer automatiquement l'espace une fois que le transfert commence.
E.g. Si je transfère un fichier de 200mb sur le serveur ftp. Alors que le transfert est actif si je me connecte au serveur FTP et que je fais une taille pendant le téléchargement. Il montre 200mb pour la taille. Même si le fichier est seulement à 10% complet.
Les autorisations semblent également être définies de manière aléatoire. Le serveur FTP fourni avec IIS définit les autorisations APRES la fin de la copie du fichier. Alors que certains des autres serveurs ftp plus anciens le définissent dès que vous envoyez le fichier.
: '(
Ce n'est pas une mauvaise façon du tout. J'aime ça. – UberJumper