Seite 1 von 2

Verfasst: Montag 6. November 2006, 17:57
von Leonidas
Ich versteh irgendwie immer noch nicht, warum hier so eine Abneigung gegenüber dem Taskplaner (oder so sachen wie cron) herrscht. Sämltliche hier gezeigten Programme ließen sich viel eleganter mit dem Taskplaner/Cron lösen.
Always use the right tool for the task.

P.S.: Prozesse würde ich über das Modul Subprocess starten, das nur so nebenbei.

Verfasst: Montag 6. November 2006, 21:27
von HWK
Wenn das Script in der Wartezeit keine Funktion erfüllt außer zu warten, braucht man doch gar keine While-Schleife. Man berechnet die Differenz x zwischen aktueller Zeit und gewünschter Startzeit und wartet die Zeit mit sleep(x).
MfG
HWK

Verfasst: Dienstag 7. November 2006, 08:47
von alpha
@Leonidas
Wir sind aber ein Pythonforum.. also lösen wir alles mit Python :D
.. und wenns nur aus Spass ist :wink:
alpha

Verfasst: Dienstag 7. November 2006, 17:17
von Leonidas
alpha hat geschrieben:Wir sind aber ein Pythonforum.. also lösen wir alles mit Python :D
.. und wenns nur aus Spass ist :wink:
Ich bevorzuge saubere, wenn auch in diesem Fall nicht-pythonische Lösungen. Ich kann zwar deinen Punkt verstehen, aber das Rad neu erfinden finde ich eben nicht so wahnsinnig interessant und wenig zielführend (klar, manchmal ist sowas auch nötig).

Was aber praktisch ist:
Wenn man ein Programm hat und in diesem etwas um eine bestimmte Uhrzeit passiert, was mit dem programm auch zu tun hat. Zum Beispiel dass ein Programm das die Fahrpläne der öffentlichen Verkehrsmittel an bestimmten Uhrzeiten Meldungen bingt, dass bald die letzte Verbindung der Linie X abgeht. Aber um einfach so andere Programme zu starten -> cron. Läuft sowieso immer und verschwendet daher nicht unnötige Prozessorzyklen.

Verfasst: Dienstag 7. November 2006, 19:21
von sape
Leonidas hat geschrieben:[...]
Was aber praktisch ist:
Wenn man ein Programm hat und in diesem etwas um eine bestimmte Uhrzeit passiert, was mit dem programm auch zu tun hat. Zum Beispiel dass ein Programm das die Fahrpläne der öffentlichen Verkehrsmittel an bestimmten Uhrzeiten Meldungen bingt, dass bald die letzte Verbindung der Linie X abgeht. Aber um einfach so andere Programme zu starten -> cron. Läuft sowieso immer und verschwendet daher nicht unnötige Prozessorzyklen.
Genua so sehe ich das auch :) Daher finde ich das auch interessant, einen guten Lösungsansatzes dafür zu haben. Um Programme oder Scripte zu starten braucht man sowas wirklich nicht --> TM oder das von dir angesprochene cron.

Aber wie du shcon sagst: Sobald man diese Funktionalität für interen vorgänge im script braucht, ist es schon nicht schlecht wenn man weiß wie man sowas macht :) Ich bin ja auch zwar ein vertrete davon das man das rad nicht neu erfinden soll, aber oft will ich doch gerne wissen wie man sowas realisiert.

BTW: Danke für den tipp mit Subprocess. Werde mir das mal ansehen und ich glaube ich muss mal langsam anfange alle Docstrings von alle Modulen zu lesen, damit ich weiß was Python so alles als Standard so bietet :) Aber die Liebe Zeit :-[...

BTW2: Passend zum Thema: Bin immer noch der Überzeugung, das diese schleife mit sleep, abfrage, etc besser in einen eigenen thread rein sollte, damit es nicht das ganze Programm blockiert. Also praktisch einen Thread für die Hauptaufgaben die immer bereit stehen müssen und dann einen für diese abfrage die im Hintergrund läut und dann bei erreichter Zeit irgendwas macht.

Verfasst: Dienstag 7. November 2006, 20:56
von Leonidas
XtraNine hat geschrieben:BTW: Danke für den tipp mit Subprocess. Werde mir das mal ansehen und ich glaube ich muss mal langsam anfange alle Docstrings von alle Modulen zu lesen, damit ich weiß was Python so alles als Standard so bietet :) Aber die Liebe Zeit :-[...
Ich würde dir eher raten erstmal die normale Python-Dokumentation zu lesen, die ist ziemlich umfassend und IMHO brauchbar.
Außerdem haben wir noch das Wiki, wo einige Artikel lesenswert sind.

Verfasst: Dienstag 7. November 2006, 20:58
von BlackJack
Leonidas hat geschrieben:
alpha hat geschrieben:Wir sind aber ein Pythonforum.. also lösen wir alles mit Python :D
.. und wenns nur aus Spass ist :wink:
Ich bevorzuge saubere, wenn auch in diesem Fall nicht-pythonische Lösungen.
Ich denke es ist durchaus "pythonisch" wenn man eine sauberere Lösung bevorzugt -- auch wenn diese Lösung nicht auf Python setzt.