View Single Post
  #1  
Old 16.05.2019, 03:50
Mister Floppy Mister Floppy is offline
JD Addict
 
Join Date: May 2009
Location: Erde
Posts: 170
Default Ereignis-Skript funzt unmittelbar nach einem Update nicht mehr

Ich habe mir ein Ereignis-Skript geschrieben, das den Ruhezustand am PC einleitet, wenn alle Downloads und Entpackungsvorgänge abgeschlossen sind - das funktioniert auch problemlos, allerdings NICHT, wenn es nach dem Klicken des Icons "Auf Aktualisierungen überprüfen (Str+u)" für den "JDownloader2" ein Update gegeben hat, welches automatisch einen Neustart des "JDownloader2" durchführt: ist das Update abgeschlossen, muss man manuell einen weiteren Neustart des "JDownloader2" anstoßen, damit das Ereignis-Skript wieder funktioniert!

Hier das Ereignis-Skript:

//alle verbliebenen Downloads überprüfen
do {
links = callAPI("downloadsV2", "queryLinks", {
"name": true
});
entpackend = false;
for (i = 0; i < links.length; i++) {
//konvertiere API-Link in ein Link-Objekt
link = getDownloadLinkByUUID(links[i].uuid);
//überprüfen, ob gerade ein Archiv entpackt wird
if (link.getExtractionStatus() == "RUNNING") {
entpackend = true;
break;
}
}
//Vorbereitung des Ruhezustandes verzögern, solange noch nicht alle Entpackungsvorgänge abgeschlossen sind
} while (entpackend)
callSync("D:\\GroundControl\\gc.exe", "/r", "D:\\PCzapper\\mediamanager\\Scripts\\PC-Ruhezustand.gc", "/var:%Fenstertitel=JDownloader 2", "/var:%Modus=2");

Bevor jetzt jemand sagt "Nutze doch einfach die Erweiterung "JD Shutdown"": das kommt für mich nicht in Betracht, da ich noch weitere Bedingungen abfrage, die bei Erfüllung ggf. den Ruhezustand verhindern sollen.
Kurz noch zur Erläuterung: der callSync-Befehl ruft ein externes Makro auf, das eben diese Bedingungen abfragt.

Hat jemand eine Idee, warum das Ereignis-Skript in der eingangs beschriebenen Situation nicht aufgerufen wird?
(Dass es nicht aufgerufen wird, erkenne ich daran: Wenn das externe Makro gestartet wird, erscheint ein eigenes Icon in der Taskleiste des PCs - hier bleibt es aber aus)
Reply With Quote