humadm
Goto Top

Aufgabenplanung Beenden erzwingen vom Python-script funktioniert nicht

Moin,
Ich habe in der Windows Aufgabenplanung ein Python-script (blubb.py). Dies soll alle 5 min was von einem FTP-Server runterladen, dabei hängt es sich hin und wieder bei FTP Verbindungen auf und stürzt aber nicht ab. Es wird direkt als Blubb.py gestartet, das klappt auch alles, als Admin oder User mit höchsten Privilegien oder ohne, nur eine Instanz ausführen etc.... klappt alles. Nur die Einstellung dass es nach einer längeren Laufzeit von 1 Std Beendet werden soll, und auch gerne zum Beenden erzwungen werden darf, funktioniert nicht. Das Script läuft einfach weiter und muss Manuell beendet werden.
Das selbe Problem ist auf Win7 Win10 Win Server12 aufgetreten bzw. getestet.
Nun die Frage warum das nicht klappt. Dafür ist doch diese einstellung gedacht, damit es Beendet wird, falls es länger als erlaubt läuft, und dann kann es wieder normal starten.
Woran kann das liegen, brauch es eine weitere Einstellung oder warum klappt es nicht?

Grüße

Content-Key: 369271

Url: https://administrator.de/contentid/369271

Printed on: April 25, 2024 at 11:04 o'clock

Mitglied: 135799
135799 Mar 26, 2018 updated at 13:11:07 (UTC)
Goto Top
Solche Umstände sollte man besser immer schon im Script mit Errorhandling abfangen und sich nicht auf externe Dinge verlassen.

Schnuffi
Member: HuMadm
HuMadm Mar 26, 2018 updated at 13:44:52 (UTC)
Goto Top
Danke Schnuffi, Thema verfehlt, bzw. Antwort verfehlt...um den Fehler im Script geht es nicht.
Wenn du eine konstruktive Antwort zur Frage gegeben hättest, wäre dein Kommentar OK, Ansonsten ist er hier völlig fehl am Platz und hilft mir nicht weiter.
Mitglied: 135799
135799 Mar 26, 2018 updated at 13:51:12 (UTC)
Goto Top
Wenn du eine konstruktive Antwort zur Frage gegeben hättest,
Wie bist du denn drauf? Selbst verständlich ist das konstruktiv. Du willst Hilfe nicht wir! Wenn du mit Kritik nicht umgehen kannst bist du hier falsch .

Jeder verantwortungsbewusste Coder kümmert sich um solche Umstände und verlässt sich nicht 100% auf die Aufgabenplanung, so ist das nunmal.
Member: HuMadm
HuMadm Mar 26, 2018 at 13:52:40 (UTC)
Goto Top
Naja das Problem ist das Verhalten von der Aufgabenplanung und nicht dass mein Script mal hängt.
Member: Penny.Cilin
Penny.Cilin Mar 26, 2018 at 14:01:50 (UTC)
Goto Top
Hallo,

also Du hast in Aufgabenplaner die Option eingestellt, daß das Skript nach 60 Minuten beendet werden soll, richtig?
Kannst Du uns die Screenshots zeigen, wo Du was eingestellt hast?
So können wir besser auf Deine Frage helfen.

Gruss Penny.
Mitglied: 135799
Solution 135799 Mar 26, 2018 updated at 14:50:23 (UTC)
Goto Top
Es wird direkt als Blubb.py gestartet
Normalerweise trägt man als auszuführendes Programm nicht das Skript ein sondern den kompletten Pfad zur Python.exe und als Argument den Skriptpfad, aber leider sehen wir von deinen Einstellungen im Taskplaner rein gar nichts ... face-sad, das wäre das erste was du hier nachholen solltest.
Naja das Problem ist das Verhalten von der Aufgabenplanung und nicht dass mein Script mal hängt.
Sie ist eben bei manchen Windows Fremdkörpern wie Python nicht allmächtig, deswegen der Einwand es doch gleich im Skript abzufangen face-smile. Und es ist ja der Fehler des Skripts das es manchmal hängt und das kann man verhindern indem man mit Timeouts und Schleifen prüft ob es Probleme gibt oder eben nicht, dann bist du nicht primär auf die Aufgabenplanungsfunktion angewiesen.

Habs aber gerade mal getestet,, funktioniert mit Python 3.5 problemlos, Script wurde programmatisch dazu gezwungen sich aufzuhängen, es wurde anstandslos von Windows gekillt.
Member: Penny.Cilin
Penny.Cilin Mar 27, 2018 at 06:18:28 (UTC)
Goto Top
Wie @135799 schon geschrieben hat, sollte man das Errorhandling im Skript abfangen. Als Notnagel kann man das über die Aufgabenplanung abfangen, was aber unter Umständen zu unerwünschten Effekten unter Umständen auch zu Datenverlusten führen kann.

Gruss Penny.
Member: HuMadm
HuMadm Mar 27, 2018 at 08:13:12 (UTC)
Goto Top
Danke Schnuffi für die Lösung meines Problems. Ich habe das Script jetzt mal über die Python.exe mit Argument hinzugefügt. Jetzt klappt es.
Wollte mich auch nochmal für meine etwas patzige Antwort von Gestern Entschuldigen face-smile
Ich hatte auch schon ein Timeout eingebaut was dann beim auftreten des Fehlers mein Problem löst, aber bin trotzdem auf die Aufgabenplanung angewiesen ;) Auf irgendetwas muss ich mich halt verlassen.

Aber wie gesagt, das Problem ist gelöst, danke an Schnuffi. Es lag an der Art wie das Script über die Aufgabenplanung gestartet wird.

Grüße