Agent zu festgelegten Zeiten starten

  • Hallo Forum,


    mich beschäftigt wieder einmal die Frage, wie man am besten Agenten steuert, die mehrmals täglich zu bestimmten Zeiten laufen sollen.


    Es ist ja bekanntlich so, daß man diesen Agenten eine Startzeit und dann eine Interwallfolge vorgeben kann. Also starte um xx Uhr und mach dann was alle x Stunden.


    Sicherlich gibt es viele Möglichkeiten, das zu tun. Etwa innerhalb des Agenten die aktuelle Zeit abfragen und dann nochmals entscheiden, ob er laufen soll oder nicht. Oder aber auch Hilfsagenten bauen, die jeweils zu einer festen Zeit starten und den Hauptagent dann anstoßen.


    Ich möchte aber die Frage einmal in die Runde werfen: Wer hat sich damit mal beschäftigt und wer hat evtl. eine sehr gute Lösung gefunden?


    Gruss, Bernd

  • Eine bessere Idee, als den Agenten alle X Minuten oder Stunden laufen zu lassen und im Source zu prüfen, ob eine bestimmte Zeit erreicht ist, ist mir auch noch nicht gekommen...


    Allerdings kenne ich -zumindest in unserer Umgebung- auch keinen praktischen Anwendungsfall, warum ein Agent beispielsweise um 9:03, 12:37, 18:11 und 21:04 laufen sollte...

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Wenn der Agent zu festen Zeiten laufen MUSS gibt es keine sichere Methode, da Agenten vom Agentmanager über eine Ausführungsqueue verarbeitet werden, die von verschiedenen weiteren Faktoren abhängig ist.


    Das Wiederholungsintervall beginnt z.B. erst neu zu zählen, wenn der Agent beendet wurde. Also z.B. ein Start täglich um 5 Uhr mit Intervall 60 Minuten sort bei einer Laufzeit eines Agenten von 1 Minute dafür, daß die Startzeiten mit 5:00, 6:01, 7:02 ... laufen. Sofern noch weitere Agenten laufen oder bestimmte Agentparameter die minimalen Intervalle anders bestimme kann das noch anders aussehen.


    Wenn es wirklich ganz bestimmte Zeiten sein müssen, z.B. 10:00, 16:00 und 22:00 dann erstellt man 3 Agenten vom Typ einmal täglich zu den 3 Zeiten, die dann den eigentlichen Agenten (vom Typ manuell aus der Liste der Agenten) zu den Zeiten in die Queue einfügen. Ob er dann auch zur festgelegten Zeit läuft hängt davon ab, ob noch weitere Agenten parallel tätig sind und wie viele Agenten parallel laufen können (tell amgr status liefert hier die Antwort).

  • Zitat

    Das Wiederholungsintervall beginnt z.B. erst neu zu zählen, wenn der Agent beendet wurde. Also z.B. ein Start täglich um 5 Uhr mit Intervall 60 Minuten sort bei einer Laufzeit eines Agenten von 1 Minute dafür, daß die Startzeiten mit 5:00, 6:01, 7:02 ... laufen. Sofern noch weitere Agenten laufen oder bestimmte Agentparameter die minimalen Intervalle anders bestimme kann das noch anders aussehen.


    Das scheint übrigens bei Domino 8 anders zu sein. Ich habe hier einen Agenten, der geschlagene 30Min läuft. Der wird um 7 Uhr und dann alle 7 Stunden gestartet. Das erste Mal startet er um 07:00 Uhr und 56 Sekunden, das zweite Mal startet er dann z.B. um 14:00 und 57 Sekunden.


    Aber hast Recht, in den Versionen davor war das immer so.


    Gruss, Bernd

  • Interessanter Aspekt, das hatte ich noch gar nicht beobachtet. Allerdings schaue ich mir auch nicht jede altbekannte Funktion in jedem Release von Null auf neu an. Den angesprochenen Punkt werde ich definitiv nochmal in verschiedenen Releases genauer betrachten und vergleichen.