AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sichers Dateikopieren

Ein Thema von Ruewue · begonnen am 15. Apr 2010 · letzter Beitrag vom 22. Apr 2010
Antwort Antwort
Ruewue

Registriert seit: 16. Okt 2006
27 Beiträge
 
#1

Sichers Dateikopieren

  Alt 15. Apr 2010, 07:45
Sorry schon wieder ich.

Ich habe mal wieder ein etwas andrese Problem. Mein Programm läuft Nachts via Sheduler um Dateien von einem FTP Server runter zuladen. Es ist jetzt aber schon ein paar Mal vorgekommen, dass eine Datei unvollständig geladen wurde. Dass heißt, sie war auf dem Server noch am hochladen als der Download loslief. Wie kann ich nun feststellen, ob eine Datei noch hochgeldaen wird bevor ich sie dann wieder runter lade? Ich würde dann per Timer diese Abfrage sollange laufen lassen, bis die Datei vollständig ist und sie erst dann runterladen.

Es ist besonders ärgerlich, da nach der Bearbeitungen alle Dateien auf dem Server gelöscht werden. Heißt, die Datei muss erst wieder neu erstellt werden. Um sie erneut zu holen.

Danke schon mal im Voraus!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Sichers Dateikopieren

  Alt 15. Apr 2010, 08:18
Lege eine weitere kleine Statusdatei die Informiert ob die Datei "frei" ist.
Oder check im Abstand von ein paar Sekunden ob sich der Dateistempel der Datei geändert hat.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Sichers Dateikopieren

  Alt 15. Apr 2010, 08:19
Es gibt keinen sicheren Weg dies festzustellen. Ein unsicherer Weg der mir spontan einfällt ist das prüfen der Dateigröße (ob diese sich innerhalb einer Toleranzzeit ändert).
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Ruewue

Registriert seit: 16. Okt 2006
27 Beiträge
 
#4

Re: Sichers Dateikopieren

  Alt 15. Apr 2010, 09:39
Danke!

Das war auch das Einzigste auf das ich gekommen bin. Ist nicht elegant, scheint mir aber doch die funktionellste Lösung zu sein.

Danke noch mal!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Sichers Dateikopieren

  Alt 15. Apr 2010, 09:48
"Elegand" wäre evtl. wenn der ersteller der Datei diese so erzeugt (Exklusiver Zugriff) das der FTP-Server sie nicht ausliefern kann. Dann würdest du solange einen Fehler bekommen bis sie wieder vom FTP-Server zugreifbar ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#6

Re: Sichers Dateikopieren

  Alt 15. Apr 2010, 10:04
Die Datei unter anderem Namen hochladen
(z.B. mit einem Präfix, welches besagt "ich werde noch hochgeladen")

und wenn fertig, dann wird die Datei einfach umbenannt.


Alle Dateien, mit soeinem Präfix, werden dann einfach beim Download erstmal ignoriert.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Ruewue

Registriert seit: 16. Okt 2006
27 Beiträge
 
#7

Re: Sichers Dateikopieren

  Alt 22. Apr 2010, 12:38
Danke noch mal für die Antworten. Aber ich habe keinen Einfluß auf das Hochladen der Dateien. Ich muss sie nur abholen. Das Hochladen erledigt userer Kunde. Die Dateien kommen daher auch nicht immer zur selben Zeit. Somit auch das Problem.


D A N K E !
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#8

Re: Sichers Dateikopieren

  Alt 22. Apr 2010, 12:54
Mußt du die Datei sofort löschen?

Wenn nicht, dann lade sie runter, wenn sie entdeckt wird und warte dann mit dem Löäschen noch 'nen Stündchen.

alle 10 Minuten schaust du dann auf die Dateigröße
- wenn sich was ändern, dann die neuen Daten runterladen und an die schon existierenden Daten anhängen
(spart Trafic, wenn man nicht alles nochmal komplett läd)
- wenn sich in den letzen 3 oder 6 Prüfungen nichts geändert hat, dann lösch die Datei auf dem Server
und gib die Datei auf deinem PC zur weitern Verarbeitung frei.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz