Zeitgesteuerte Abfrage eines FTPs

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
HunrigerHans
User
Beiträge: 7
Registriert: Dienstag 17. März 2009, 15:20

Hallo @ all,

bis jetzt bin ich bei meinen Problemen mit Python immer über die SuFu fündig geworden, nur jetzt hilft auch das nicht mehr (leider).

Ich würde gerne zu einem bestimmten Zeitpunkt überprüfen, ob eine neue Datei auf einem FTP Server liegt.
Das Abrufen der Daten vom FTP ist hierbei nicht das Problem.
Die Zeitsteuerung bereitet mir Kopfzerbrechen.
So soll der FTP immer um XX:55 (Format HH:MM) nach Neuigkeiten gefragt werden. Falls neue Daten vorhanden sind, dann soll erst wieder bei XX+1:55 abgefragt werden, falls nicht dann soll solange jede Minute abgefragt werden, bis eine aktuellere Datei vorhanden ist und dann erst wieder um XX+1:55. Hoffe es ist verständlich was gemeint ist ;)
Das ganze mit sleep() zu realisieren finde ich recht hässlich. Könnte auch mit Hilfe des time-Moduls immer die aktuelle Uhrzeit herausbekommen und dementsprechend reagieren. Das müsste ich aber auch in regelmäßigen Abständen machen, also wieder sleep().
Gibt es noch eine andere Möglichkeit?

Zur Info:
Verwende Python 2.5.1 und arbeite unter Linux. Zudem kommt nur die StdLib zum Einsatz und das soll/muss auch so bleiben ;)
lunar

Was stört dich an "time.sleep()"? Eine andere Möglichkeit wäre eine Kombination aus "signal.pause()", "signal.alarm()" und einem dazu passenden Signal-Handler, aber das ist dann wirklich hässlich ...
HunrigerHans
User
Beiträge: 7
Registriert: Dienstag 17. März 2009, 15:20

Hi,
danke für die schnelle Antwort.
Also meinst du, dass ich bspw. alle Minute (Interval realisiert durch sleep()) die Uhrzeit abfragen soll und dann mit RegEx prüfen ob es XX:55 ist?
Klar ist, dass das geht. Aber gibt es nicht noch einen eleganteren Weg?

Gruß HH
lunar

Uh? Mal abgesehen davon, dass Python Typen für Datumswerte hat und mir daher nicht klar ist, warum du die Uhrzeit mit regulären Ausdrücken vergleichen willst, besteht doch überhaupt kein Grund, die Uhrzeit zu überprüfen regelmäßig zu überprüfen.

Wenn dein Programm um 14:25 startet, dann kannst du doch ausrechnen, wie lange das Programm schlafen muss, bevor es aufgeweckt werden muss, nämlich 20*60 Sekunden. Weckt das System dein Programm dann zu diesem Zeitpunkt auf, kannst du eine Aktion ausführen und dann auf gleiche Weise wieder die Länge der Schlafperiode ausrechnen.
bankkind
User
Beiträge: 106
Registriert: Freitag 14. September 2007, 23:02
Wohnort: Teltow
Kontaktdaten:

Wieso nicht über einen cronjob unter linux? Dafür ist das ja da! Dann brauchst du dich nur noch um das reine 'ftp prüfen' konzentrieren.

bankkind
HunrigerHans
User
Beiträge: 7
Registriert: Dienstag 17. März 2009, 15:20

Hi,

danke für den Tipp mit cronjob zu arbeiten! Das habe ich gesucht

[CLOSE]
Antworten