Mehrere Downloads gleichzeitig
Verfasst: 21.04.2014 21:44
Hallo zusammen,
wollte erfragen, ob jemandem von euch eine geschickte Lösung meines Problemes einfällt.
Schreibe einen Podcatcher mit integrierter History etc.
Das Ganze erfolgt in Schritten:
1. Feedadresse wird aus Configdatei gelesen.
2. Die Einzelnen Podcastfolgen/enclosures aus dem Feed werden
a) Mit einer History abgeglichen
b) Falls noch nicht vorhanden werden alle Daten (url, Zielordner, Datum, Titel, Description etc..)
in eine strukturierte Liste gespeichert.
3. Wenn alle Feeds abgearbeitet wurden, dann wird die Liste abgearbeitet.
Jetzt würde ich gerne aber mehrere Dateien gleichzeitig herunterladen, um die Bandbreite optimal auszunutzen.
Würde sich das bewerkstelligen lassen? Habe mit Threads bisher nur im Zusammenhang mit der GUI gearbeitet.
Meine Probleme:
- Wenn mehrere Datein gleichzeitig heruntergeladen werden, klappt das ja mit dem aktuellen Element aus der List nicht mehr. Also über eine Schleife in zBsp. 2er Schritten?
- Wie würde man verhindern, dass bei mehrfacher Ausführung der "historyentry" Prozedur es keine Probleme mit dem Zugriff auf die History (ist eine XML Datei) kommt?
Wäre für Denkanstösse dankbar !
Grüße
Sebastian
wollte erfragen, ob jemandem von euch eine geschickte Lösung meines Problemes einfällt.
Schreibe einen Podcatcher mit integrierter History etc.
Das Ganze erfolgt in Schritten:
1. Feedadresse wird aus Configdatei gelesen.
2. Die Einzelnen Podcastfolgen/enclosures aus dem Feed werden
a) Mit einer History abgeglichen
b) Falls noch nicht vorhanden werden alle Daten (url, Zielordner, Datum, Titel, Description etc..)
in eine strukturierte Liste gespeichert.
3. Wenn alle Feeds abgearbeitet wurden, dann wird die Liste abgearbeitet.
Code: Alles auswählen
Structure INFOS
Titel.s
Date.s
Album.s
Artist.s
Genre.s
Description.s
Entrypath.s
Targetpath.s
FeedURL.s
EndStructure
Global NewList Tags.INFOS()
[..]
ForEach Tags()
If SimpleHTTP_GET_File(Tags()\Entrypath, Tags()\Targetpath, #False)
WriteTags() ; Schreibt die Tags in die heruntergeladenen Dateien, entnimmt die Daten dem aktuellen Element der Liste Tags()
historyentry(Tags()\Entrypath ,Tags()\FeedURL) ;Schreibt Datei in die XML History
Else
AddElement(Fails()) ;Liste in der die gescheiterten Downloads abgespeichert werden.
;Falls Dateifragment heruntergeladen wurde, aber nicht vollständig, wird fragment gelöscht
If FileSize(Tags()\Targetpath) = -1
Else
DeleteFile(Tags()\Targetpath)
EndIf
EndIf
Next
Würde sich das bewerkstelligen lassen? Habe mit Threads bisher nur im Zusammenhang mit der GUI gearbeitet.
Meine Probleme:
- Wenn mehrere Datein gleichzeitig heruntergeladen werden, klappt das ja mit dem aktuellen Element aus der List nicht mehr. Also über eine Schleife in zBsp. 2er Schritten?
- Wie würde man verhindern, dass bei mehrfacher Ausführung der "historyentry" Prozedur es keine Probleme mit dem Zugriff auf die History (ist eine XML Datei) kommt?
Wäre für Denkanstösse dankbar !
Grüße
Sebastian