Eddie: Tasks zu lastarmen Zeiten laufen lassen: wie?

Hallo allerseits,

ich moechte einen Task so aufsetzen, dass er nur dann ausgefuehrt wird, wenn der Server Kapazitäten frei hat. Ich stelle mir das so vor, dass auf jeden Fall ein Cronjob läuft, der bspw. jede Minute einen Update-Task aufruft (der minütliche Aufruf selbst ist ja nicht sooo schrecklich ressourcen-fressend).

Dann soll aber der Task (das Ganze läuft auf PHP) selbst entscheiden, ob ihm gerade die nötigen Ressourcen zur Verfügung stehen. Wie mache ich sowas?

Ein Beispiel ist etwa die Aktualisierung eines (oder vieler) PDFs. Oder das Versenden eines Newsletters an 1000 Mio. Spam-Subscriber (Vorsicht, nicht ernst gemeint!).

Danke fuer ein paar Anregungen!
Eddie

  1. Du kannst aus /proc/loadavg auslesen, wie viele Tasks in der jetzigen Minute / in den letzten 5 Minuten / in den letzten 15 Minuten die CPU ausgelastet haben.

    Daraus läßt sich sogar per Shellscript eine Abfrage schreiben, die Du im cronjob ausführen kannst, ob der weitere Befehl gestartet werden soll.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. Du kannst aus /proc/loadavg auslesen, wie viele Tasks in der jetzigen Minute / in den letzten 5 Minuten / in den letzten 15 Minuten die CPU ausgelastet haben.

      Daraus läßt sich sogar per Shellscript eine Abfrage schreiben, die Du im cronjob ausführen kannst, ob der weitere Befehl gestartet werden soll.

      Gruß, LX

      na, das geht doch wesentlich einfacher:

      man batch

      lg
      Reiner