Rückgabewert wenn Download abgeschlossen möglich?
-
Ist es möglich einen Rückgabewert an die MediathekView.exe zu geben wenn die Downloads abgeschlossen sind oder keine Downloads da sind? Wie allgemein in aufgerufenen Programmen üblich könnte man definieren 0 = Fertig, keine Fehler oder kein Download, 2 = Download wird ausgeführt, 1 = Fehler. Der Hintergrund ist, dass ich immer noch nicht mit der Möglichkeit der automatisierung der MV fertig bin. Es ist wirklich schade, dass die commandline Option -fastauto abgeschafft wurde. Mein neuer Ansatz ist mit Autoit oder Batch die MediathekView.exe aufzurufen und wenn die Downloads beendet sind das Programm zu beenden. Den Prozess kann ich nicht einfach beenden, da sonst die Datenbank inkonsistent wird, oder ist das kein Problem? Ansonsten bitte ich diesen Beitrag in die Ideensammlung aufzunehmen.
-
@meistersun Was ich ja nicht verstehe. Wenn Du MV via Batch “automatisieren” möchtest, und den Returnwert im Batch abfragen möchtest (so interpretiere ich Deine Anfrage) , müsste sich MV dann nicht “automatisch” beenden?
Das ist doch genau das Feature, dass es (zur Zeit) nicht gibt. Inwiefern würde Dir das dann helfen?
-
Bei der -fastauto option wurden alle möglichen Vorgänge ausgegeben. Diese sind nicht unbedingt nötig. Ich will nur wissen, wann die Downloads fertig sind, einen Rückgabewert bekommen und damit einen control q auslösen um das Programm zu beenden. Mehr nicht.
-
@meistersun ok, ich versteh offenbar nicht, was Du willst. Für mich ist ein Returnwert, ein Wert, den ein Programm beim/nach Beenden ausgibt. Wenn sich das Programm aber gar nicht automatisch beendet, hilft ein Returnwert auch nix.
Aber Du meinst offensichtlich was anderes.
-
Zum Beispiel so etwas mit AutoIt:
#include <MsgBoxConstants.au3>
*Example()
Func Example()
; Startet den Editor und wartet bis der Prozess nicht mehr existiert.
Local $iReturn = RunWait(“notepad.exe”); Zeigt den Rückgabewert des Editorprozesses an. MsgBox($MB_SYSTEMMODAL, "", "The return code from Notepad was: " & $iReturn)
EndFunc ;==>Example*
Wenn man über die MediathekView.exe einen Rückgabewert bekäme dass die Downloads abgeschlossen sind, kann man einen Tastenbefehl mit Autoit senden, der das Programm beendet: Send{“^q”}
-
@meistersun sagte in Rückgabewert wenn Download abgeschlossen möglich?:
; Startet den Editor und wartet bis der Prozess nicht mehr existiert.
Genau das mein ich. Wenn sich der Prozess aber nicht selbst beendet, wartest auf “bis der Prozess nicht mehr existiert” ewig.
-
Ja, geb ich zu. Vielleicht nicht ganz richtig dieses Beispiel aber während die Mediathekview.exe noch läuft, möchte ich gerne einen Rückgabewert haben, wenn die Downloads fertig sind. Oder eine Logmitteilung in einem Logfile würde mir auch reichen.
-
@meistersun sagte in Rückgabewert wenn Download abgeschlossen möglich?:
Ja, geb ich zu. Vielleicht nicht ganz richtig dieses Beispiel aber während die Mediathekview.exe noch läuft, möchte ich gerne einen Rückgabewert haben, wenn die Downloads fertig sind.
Hi,
eine Möglichkeit wäre, mit TASKLIST die CPU-Zeit des Java-Prozesses zu überprüfen. Wenn die (z. B. bei Oracles JAVAW.Exe) über einen definierten Zeitraum unter 1-2 % liegt, ist die Wahrscheinlichkeit sehr hoch, dass die Downloads beendet sind. Danach könntest du vielleicht mit deinem AutoIt den Java-Prozess ordnungsgemäß beenden. (Taskkill /IM Prozessname könnte auch funktionieren). Probiere es einfach mal aus.
-
@meistersun sagte in Rückgabewert wenn Download abgeschlossen möglich?:
Zum Beispiel so etwas mit AutoIt:
Ich kenn AutoIt nicht, aber was ich gesehen habe, kann das doch Tastenkombinationen an ein Programm senden.
Schick doch ein <alt>-<F4> dann müsste bei laufenden downloads (*) das kommen:
dann ein <cursor-down> mit <enter> (1x oder 2x?) und schon sollte sich MV nach den Downloads beenden.
Dann klappts auch mit “warten bis der Prozess nicht mehr exisitiert”,
(*) eventuell vorher noch downloads starten (<alt>-<o><cursor down><enter> bei 13.2.1)
-
Nein, MediathekView ist so nicht mehr dazu gedacht es zu automatisieren. Es wird aber ein headless Client wieder kommen. Ich habe da auch schon einen Prototypen weil ich ein paar Sachen ausprobiert habe der ist aber so noch nicht funktional.
Bis dahin gibt es verschiedene Sktipte aus der Community. Finden sich im Forum einfach mal suchen
-
Wenn man die headless-Funktionen braucht und nutzen will spricht auch nichts dagegen einfach eine ältere Version zu nutzen, die das noch kann, anstatt sich da irgendwelche komplizierte Workarounds zusammen zu schustern. Ist problemlos möglich.
-
Hatten die älteren nicht üble Probleme mit dem ORF?
Auf jeden Fall wäre eine Konfigmöglichkeit: “MV nach Beendigung aller Downloads beenden” schon gut.
Oder halt einen Shutdown Hook implementieren wie es eh sauberer Stil wäre. Dann würde MV korrekt auf ein Sigterm reagieren und nicht einfach nur absemmeln wenn der Rechner runtergefahren wird. -
@Smo sagte in Rückgabewert wenn Download abgeschlossen möglich?:
Auf jeden Fall wäre eine Konfigmöglichkeit: “MV nach Beendigung aller Downloads beenden” schon gut.
Wenn du diesen Thread hier gelesen hättest, wüsstest du, dass die Möglichkeit MV nach Beenden der Downloads zu beenden bereits existiert.
https://forum.mediathekview.de/post/19446
-
@Smo sagte in Rückgabewert wenn Download abgeschlossen möglich?:
Hatten die älteren nicht üble Probleme mit dem ORF?
Erzähl mal mehr davon …
Auf jeden Fall wäre eine Konfigmöglichkeit: “MV nach Beendigung aller Downloads beenden” schon gut.
Woe. Einfach nur Wow.
wie es eh sauberer Stil wäre.
Ähem, sauberer Stil wäre es, Threads, in denen man antwortet, auch einmal zu lesen.
-
Danke für dein blödes Getoffel. Wen hat das jetzt weitergebracht? Meine Frage nach dem ORF wurde nicht beantwortet, es gibt keine Lösung für das Problem des OP, du hast dich mit deiner Unhöflichkeit blamiert, und SIGTERMs werden immer noch nicht korrekt behandelt.
-
@mvsfsvm Das funktioniert leider auf der Konsole nicht. Das wäre es eben gut, wenn man einstellen könnte dass entweder immer nach dem beenden der Downloads beendet wird, oder dass ein SIGTERM korrekt behandelt wird. Nämlich mit dem kontrollierten beenden des Programmes.
-
@Smo sagte in Rückgabewert wenn Download abgeschlossen möglich?:
Danke für dein blödes Getoffel. Wen hat das jetzt weitergebracht? Meine Frage nach dem ORF wurde nicht beantwortet,
Ich sehe keine Frage von dir nach dem ORF sondern nur eine Bemerkung “Hatten die älteren nicht üble Probleme mit dem ORF?”.
Erwartest du jetzt, dass wir alle deine Gedanken lesen können?
-
@Smo Es ist keine Konsolenanwendung. Bei normalen Desktop Anwendungen ist es üblich und korrekt bei einem Fehler nicht zu beenden. Eher das Gegenteil ist erwünscht, eine Software sollte stabil weiter laufen so lange es geht. MediathekView ist solch eine Desktop Software und so eben darauf angepasst erstmal grundsätzlich weiter zu laufen. So wird mittlerweile auch nach einiger Zeit bereits automatisch die Filmliste aktualisiert.
Wenn du das Verhalten einer Konsolenanwendung willst musst du auch eine solche nutzen. Du musst also entweder warten bis wir einen offiziellen MediathekView Konsolenclient veröffentlichen, oder eine der inoffiziellen Lösungen wählen oder selbst etwas schreiben.
-
Hallo zusammen, ich verwende solange es kein anderes Frontend gibt die Version 13.2.1 der MV. Den Fehler mit den vielen Java Fehlermeldungen habe ich nicht gefunden aber seitdem ich die MV automatisiert zu einem anderen Zeitpunkt starte klappt es seit Wochen ohne ein Problem. Auf dem Server läuft auch openHAB (Hausautomatisierung) ebenfalls mit Java. Vielleicht sind die sich in die Quere gekommen.
-
@Smo sagte in Rückgabewert wenn Download abgeschlossen möglich?:
Danke für dein blödes Getoffel.
Bitte gern geschehen.
Wen hat das jetzt weitergebracht?
We hat Dein Post weitergebracht? Aber egal.
Meine Frage nach dem ORF wurde nicht beantwortet,
Kurze Antwort: Nein. Es gibt keine Probleme bei älteren Versionen mit ORF.
es gibt keine Lösung für das Problem des OP,
Dazu 3 Dinge:
-
Der OP hat die Lösung für sein Problem vor längerer Zeit selbst erkannt.
-
Für den Wunsch (ist ja kein Problem), die aktuelle MV-Version im gewünschten Modus zu verwenden, muss der OP so lange warten bis die Programmierer dieses Feature wieder einbauen. Das weiß der OP auch schon länger (siehe 1. und hier).
-
Für den vom OP selbst vorgeschlagenen Workaround hab ich einen Lösungsvorschlag gepostet.
du hast dich mit deiner Unhöflichkeit blamiert,
Tja, wennst meinst …
und SIGTERMs werden immer noch nicht korrekt behandelt.
Darüber gibts wohl unterschiedliche Ansichten. Vorsichtig formuliert.
-