Hallo!
Da ja seit Purebasic 5.2 die Packerlib probleme macht und auch unter der letzten Ausgabe 5.22 nicht
funktioniert wie sie soll, habe ich einige Versuche gemacht und eine Lösung gefunden die (
zumindest bei mir) funktionert.
Ich möchte hier kein Programm vorstellen, sondern einfach erklären was getan werden muß
um größere Zip Archive zu erstellen. Die Probleme beim packen gingen immer los, wenn mehr als
500 Dateien im Archiv waren. Ich habe in meinem Programm einfach nach 450 Dateien das Archiv
geschlossen (Closepack) und anschließend gleich wieder mit Openpack geöffnet. Auf diese Art
funktionierte die Erstellung eines Archivs mit ca. 6000 Dateien Problemlos.
Allerdings hatte diese Vorgehensweise einen kleinen Haken. Mein Packprogramm das diverse
Ordner auf unserem Server (Server 2012 Betriebssystem) in festgelegten Zeiträumen sichert
lief beim Starten mit der Maus problemlos durch. Wurde es allerdings als geplanter Task
gestartet lief das Programm auf einen Fehler. Erst nachdem ich zwischen Closepack und
Openpack 1 Sekunde wartezeit eingefügt habe läuft alles ohne Probleme. Vielleicht kann mir
jemand hier erklären wo der Unterschied zwischen dem Starten mit der Maus (doppelklick auf
das Icon) und dem starten als geplantem Task liegt.
Ich hoffe das jemand mit dem Hinweis etwas anfangen kann und die Packerlib bei Ihm wieder
funktioniert.
gruß Jürgen
Zip Archive erstellen, so gehts wieder!
- TroaX
- Beiträge: 684
- Registriert: 08.03.2013 14:27
- Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
- Wohnort: NRW
- Kontaktdaten:
Re: Zip Archive erstellen, so gehts wieder!
Läuft der geplante Task an- oder abgemeldet ab?
Ich denke mal, das es an der Prozesspriorität liegt. Aber mir war so als hätte ich mal gelesen, das geplante Tasks mit niedriger Prio ausgeführt werden. Tasks mit niedriger Prio werden gezwungen, Prozessorzeit freizugeben. Wenn dein Programm das nicht von selbst tut, wurde es denke ich mal vom OS dazu gezungen. Durch das Delay() hast du Prozessorzeit freigegeben und desegen lässt dein OS die Backupgeschichte gewähren.
Nur eine Vermutung. Bin mir da aber auch nicht ganz sicher.
Ich denke mal, das es an der Prozesspriorität liegt. Aber mir war so als hätte ich mal gelesen, das geplante Tasks mit niedriger Prio ausgeführt werden. Tasks mit niedriger Prio werden gezwungen, Prozessorzeit freizugeben. Wenn dein Programm das nicht von selbst tut, wurde es denke ich mal vom OS dazu gezungen. Durch das Delay() hast du Prozessorzeit freigegeben und desegen lässt dein OS die Backupgeschichte gewähren.
Nur eine Vermutung. Bin mir da aber auch nicht ganz sicher.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: Fritz.Box 5690 Pro (Nur für Keepass-DB)
Coding: Purebasic, Spiderbasic, GDevelop, Javascript/Node
Re: Zip Archive erstellen, so gehts wieder!
Hallo,
der Task läuft angemeldet und mit höchster Priorität. Habe alle Einstellungen hin und her
ausprobiert, ohne erfolg. Also an den Einstellungen kann es nicht liegen. Habe auch
versucht das Programm aus einem Batchfile heraus zu starten. Leider war das Ergebniss
immer das selbe.
Die Idee mit der Prozesspriorität halt ich für interessant, denke aber nicht das es daran liegt.
Das Programm lief ja bereits mehrere Wochen problemlos bis es von heute auf morgen seinen
Dienst verweigerte. Ich möcht jetzt, da die Sicherung wieder läuft, nichts mehr ändern. Das ganze
hat mich ja genug Zeit gekostet.
Aber Danke für Deine Hilfe.
gruß Jürgen
der Task läuft angemeldet und mit höchster Priorität. Habe alle Einstellungen hin und her
ausprobiert, ohne erfolg. Also an den Einstellungen kann es nicht liegen. Habe auch
versucht das Programm aus einem Batchfile heraus zu starten. Leider war das Ergebniss
immer das selbe.
Die Idee mit der Prozesspriorität halt ich für interessant, denke aber nicht das es daran liegt.
Das Programm lief ja bereits mehrere Wochen problemlos bis es von heute auf morgen seinen
Dienst verweigerte. Ich möcht jetzt, da die Sicherung wieder läuft, nichts mehr ändern. Das ganze
hat mich ja genug Zeit gekostet.
Aber Danke für Deine Hilfe.
gruß Jürgen
Re: Zip Archive erstellen, so gehts wieder!
Mal 'ne kurze Frage: Machst Du eine If-Abfrage vor AddPackFile() ?
Re: Zip Archive erstellen, so gehts wieder!
Hallo Rudi!
Schande über mein Haupt!
Ja ich mache eine IF-Abfrage!
Ist sogar ganz wichtig unter Server2012 (unter Windows 7 lief es auch ohne).
Und zwar schreibe ich derzeit 400 Files in das Archiv. Danach wird es geschlossen und abgefragt ob die Archivdatei noch
geöffnet ist. Erst wenn sie nicht mehr offen ist wird das Archiv mit OpenArchiv neu geöffnet. Die Abfrage ist nötig da
die Dateien im Hintergrund gepackt werden und man keine Rückmeldung bekommt wann der Packer fertig ist. Habe es
vergessen zu erwähnen da ich das Programm nicht bei mir auf dem Rechner habe sondern die jetzige Version nur auf
unserem Server liegt. Wenn ich Zeit habe überarbeite ich mal den Code. Der ist nämlich durch die ganze rumprobiererei
alles andere als ansehnlich. Außerdem ist das ganze etwas Quick and Dirty Programmiert, aber es läuft jetzt.
Falls Du Interesse hast schicke ich Dir auch den Code. Aber wie gesagt ist etwas unübersichtlich und schlecht
kommentiert.
Gruß Jürgen
Schande über mein Haupt!
Ja ich mache eine IF-Abfrage!
Ist sogar ganz wichtig unter Server2012 (unter Windows 7 lief es auch ohne).
Und zwar schreibe ich derzeit 400 Files in das Archiv. Danach wird es geschlossen und abgefragt ob die Archivdatei noch
geöffnet ist. Erst wenn sie nicht mehr offen ist wird das Archiv mit OpenArchiv neu geöffnet. Die Abfrage ist nötig da
die Dateien im Hintergrund gepackt werden und man keine Rückmeldung bekommt wann der Packer fertig ist. Habe es
vergessen zu erwähnen da ich das Programm nicht bei mir auf dem Rechner habe sondern die jetzige Version nur auf
unserem Server liegt. Wenn ich Zeit habe überarbeite ich mal den Code. Der ist nämlich durch die ganze rumprobiererei
alles andere als ansehnlich. Außerdem ist das ganze etwas Quick and Dirty Programmiert, aber es läuft jetzt.
Falls Du Interesse hast schicke ich Dir auch den Code. Aber wie gesagt ist etwas unübersichtlich und schlecht
kommentiert.
Gruß Jürgen
Re: Zip Archive erstellen, so gehts wieder!
Habe mich in der Vergangenheit recht ausgiebig mit der ZIP-Lib beschäfigt und dabei das beschriebene Problem bei UncompressPackFile() festgestellt.
Kannst mir ja mal den Code schicken oder den relevanten Abschnitt hier posten!
Gruß, Rudi
Kannst mir ja mal den Code schicken oder den relevanten Abschnitt hier posten!
Gruß, Rudi