[Support] Ressourenschonendes Datenbank-Polling, wie?
Rainer Thieringer
hsnews at web-me.de
Fri Apr 11 12:00:05 CEST 2008
Hallo Friedhelm, Michael,
> Was für Programme versenden die SMSen?
Es ist ein eigenes perl script, bisher wird es pro eingehender Mail
aufgerufen. Ich würde es so wiederverwenden:
Aufruf im Minuten-Takt
Datenbank connecten, Tabelle prüfen, raus oder Bearbeitung weiterführen.
> Ich würde mal in einer beliebigen Sprache Deiner Wahl folgendes
> versuchen:
> Ewig laufendes Skript, das in einem bestimmten Intervall die Datenbank
> prüft und dann entsprechend reagiert.
> Pseudocode:
>
> while (1) {
> db-checken;
> entsprechende Aktion (smsen)
> sleep(6o)
> }
Der Nachteil ggü cron ist, dass ich noch überwachen muss, ob das
Programm läuft. Es wäre fatal, wenn es aus irgend einem Grund
abschaltet, dann gingen keine SMSen mehr raus. Das könnte ich aber über
ein Shell-Script mit
while (1) {
das_script() ;
};
umgehehen. Aber das macht es immer noch nicht ganz sicher, dass es immer
"respawned" wird.
Frage 1: Gibt es da was, um sicherzustellen, dass ein Programm immer läuft?
Ausserdem müsste zuverlässig nach jedem Restart von h02 gestartet
werden. Cron hat da den Vorteil, dass es einfach jede Minute sowieso neu
gestartet wird. Alledings könnte im im Programm die Sleep-Zeit flexibler
einstellen.
Frage 2: Wie kann ich ein Programm zuverlässig und automatisch mit
Restart von h02 starten. .bashrc ?
>
> Ob das immer tut, keine Erfahrung. Falls Du PHP verwendest, hatte ich
> mal am Rande mitbekommen, dass ewig laufende CLI-Skripte irgendein
> Problem hatten.
Es ist perl.
>
> Ich kann Dir leider auch nicht sagen, ab das ressourcensparender als
> Cronjobs wäre. Aber 1 minütliche Cronjobs klingen für meine Ohren
> suboptimal, aber da kann ich mich irren.
Eben, das widerstrebt einem. Deswegen auch die Frage in die Runde.
>
> Ich meine mich zu erinnern, dass Perl in der Hinsicht mehr Möglichkeiten
> bietet. Aber da kenne ich mich leider zu wenig aus.
Danke Euch
Rainer
More information about the Support
mailing list