Guten Morgen meine Freunde der Nacht,
ich arbeite ja bekanntlich noch an meiner kleinen Toolbox. Heute bin ich auf ein weiteres Problem gestoßen auf das ich erst einmal testen darf: Manche Dateien werden per storeFile() verschoben, manche nicht. Hat möglicherweise mit der Aneinander-Reihung von Daten zu tun, aber das ist bis jetzt lediglich eine Vermutung. Ich lasse jetzt mal den Reply vom FTP-Server ausgeben und schaue mal, was hier falsch laufen könnte.
Außerdem habe ich einen (kleinen, aber miesen) Fehler behoben; wenn ich nach dem Upload die Daten lösche, sollte ich eventuell auch darauf prüfen, ob der Upload funktioniert hat, ansonsten werden die Daten einfach gelöscht und niemand hat sie mehr 😀
Update 20.05: Nachdem die Server ausgefallen sind, konnte ich erst einmal nicht an der Toolbox weiterarbeiten. Das Problem mit der storeFile()-Aneinanderreihung durch die Threads hat sich „gelöst“. Beim Upload wird jeweils geprüft ob der Nutzer angemeldet ist, was auch nötig ist, wenn lange Zeit nichts hoch-geladen wurde. Wenn allerdings mehrere Threads in der Überprüfung landen und einer sich schon angemeldet hat, können es die anderen Threads nicht mehr, da nur ein Nutzer vorhanden, und landen in einem „Socket write error“; zumindest meistens.
Ich habe hier einfach den Pool auf eins gesetzt. Dann gibt es nur einen Thread der einen Stack abarbeitet. Dadurch werden alle Dateien nach einander verschoben. Eine andere Möglichkeit kenne ich nicht und werde ich wohl erst einmal nicht benötigen. Bei Verschiebungen in einem normalen Dateisystem werden keine Anmeldungen benötigt und daher kann ich dort so viele Threads aufmachen wie ich Lust habe (zumindest in der Theorie).
Mal schauen welche Probleme mich noch erwarten 😉