HaPe: Vertagen von Perlscripts

Beitrag lesen

Ein CGI-Script soll bis zu einem bestimmten Ereignis mehrer Tage in einer  Endlosschleife laufen und einmal täglich abhängig von div. Daten eine Mail schicken. Damit das Script in den restlichen 23h 59min nicht Rechenzeit von Server frisst (getdate in while-schleife bis zum neuen Datum oder so), suche ich eine Möglichkeit, das Script mittels Perlfunction (sleep, wait...??? oder so was...) zu vertagen. Welche Function gibt die Steuerung "richtig" an das OS zurück und erhält die Rechenzeit erst wieder nach Ablauf der gewünschten Zeit? (Der Server meines Providers läuft unter SUN Solaris.)

Vielen Dank für die Antwort(en) im Voraus, Gruß Frank

Hallo Frank,

ich glaube was Du suchst, dürfte das da sein.
select(undef,undef,undef,0.1);

Soweit ich weiß, ist die Angabe 0.1 in Millisekunden.

Bei deinem Vorhaben sehe ich aber noch ein anderes,  besser zwei andere Probleme.

1. Wie lange läßt die Konfiguration "Deines" Webservers das Script laufen? Ich glaube nicht, daß Dein provider dies mehrere Tage zuläßt.

2. Wird das Script nicht automatisch gekillt, wenn der Browser die Seite verläßt?

Bitte korrigiert mich, wenn ich da falsch liege ;-)

Weitere Frage wäre: ist es unbedingt notwendig, daß die Mail auf die Minute genau zu einer bestimmten Tageszeit abgeschickt wird?

Wenn nicht, dann könntest Du, Immer wenn Deine Homepage oder sonstige Seite aufgerufen wird, überprüfen, ob HEUTE schon die Mail verschickt wurde, wenn nicht dann tue es und wenn ja dann warte auf die nächste Aktion. Das hat auch den Vorteil, daß wenn der Server mal ausfällt, Dein Script davon nicht betroffen ist.

Gruß HaPe