JDownloader Community - Appwork GmbH
 

Reply
 
Thread Tools Display Modes
  #1  
Old 16.05.2019, 02:50
Mister Floppy Mister Floppy is offline
Bandwidth Beast
 
Join Date: May 2009
Location: Erde
Posts: 147
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
  #2  
Old 16.05.2019, 10:29
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 63,945
Default

Dein Script sollte auf jeden Fall eine Sleep/Wait nutzen. Denn ansonsten rennst du in Endlos-Schleife durch die Liste
Ist zu dem Zeitpunkt wenn das Update installiert wird und JDownloader neugestartet wird ein Entpackvorgang am laufen?

Evtl mal zum Test ein Script welches einen Alert zum Dialog anzeigen und schauen ob das klappt?
__________________
JD-Dev & Server-Admin
Reply With Quote
  #3  
Old 16.05.2019, 18:13
Mister Floppy Mister Floppy is offline
Bandwidth Beast
 
Join Date: May 2009
Location: Erde
Posts: 147
Default

@Jiaz:

Ich hatte vergessen zu erwähnen, dass ich als Trigger für das Ereignis-Skript "Download-Controller gestoppt" eingestellt habe: Somit wird es also nicht unentwegt, sondern eben genau nur bei diesem Ereignis ausgelöst; die Befehle habe ich zum Teil Eurem mitgegebenen Beispiel-Skript "Sounddatei (.wav) wiedergeben, wenn Downloads und Entpackung beendet sind" entliehen.

Zu Deiner Frage: Ist zu dem Zeitpunkt wenn das Update installiert wird und JDownloader neugestartet wird ein Entpackvorgang am laufen?
Antwort: Nein.

Ich habe jetzt zum Testen mal in das Ereignis-Skript am Anfang den Befehl "playWavAudio(JD_HOME + "/themes/standard/org/jdownloader/sounds/captcha.wav");" eingefügt.

Heute gab es ja wieder ein Update mit einem automatischen Neustart, und dieses Mal hat das Skript wieder gefunzt - ja, neh, is klar, natürlich der "Vorführeffekt" :-)

Ich bin mir aber sicher, dass die "Nicht-Ausführung" sporadisch immer wieder mal auftritt, ich werde ab sofort bei zukünftigen Updates ganz bewußt lauschen, ob der Test-Ton stets zu hören ist, dann wissen wir mehr. Ich melde mich wieder!
Reply With Quote
  #4  
Old 16.05.2019, 18:23
Jiaz's Avatar
Jiaz Jiaz is offline
JD Manager
 
Join Date: Mar 2009
Location: Germany
Posts: 63,945
Default

Am besten statt einem Ton, besser einen Dialog, dann siehst du ob das Script gefruchtet hat. Ein Ton kann man verpassen/überhören.
__________________
JD-Dev & Server-Admin
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 01:02.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.