Concurrent Agents in einer DB

  • Hallo zusammen ...


    ich bin gerade in einer fachlichen Diskussion mit Kollegen.


    Diese meinen, dass es nicht möglich sei, dass Agenten in einer DB gleichzeitig laufen können.


    Gut es gibt ja grundsätzlich folgendes zu überlegen


    Agenten die über den AgentenManager verwaltet werden sind grundsätzlich scheduled Agents


    Agenten die im Web laufen werden über den HTTP-Task gehandelt.
    Dabei gibt es die Möglichkeit über das Server-Document im Bereich der Web-Engine die Agenten concurrent-fähig zu machen.


    Nun sind wir aber am diskutieren.


    Können unterschiedliche User ein und denselben Agenten gleichzeitig aufrufen ?
    Ist die Abarbeitung dann parallel oder sequentiell ?
    Wie ist das, wenn ich einen Agenten über das Web mittels WebQueryOpen/Close initiiere und dann in diesem Agenten auch noch einen anderen reinen Notes-Agenten aufrufe (der irgendwelche anderen Aufgaben erfüllt ?


    Weiss da jemand ein wenig Licht ins Grau zu bringen ?


    Besten Dank für jeden geistreichen Kommentar

  • Grundsätzlich haben deine Kollegen recht:


    Scheduled Agents bzw Ereignisgetriggerte Agenten kann immer nur einer je DB zur gleichen Zeit ausgeführt werden.


    Web Agenten werden ja manuell getriggert, daher können da auch mehrere parallel laufen.


    Und der Aufruf eines anderen Agenten hängt unter anderem davon ab wie dieser aufgerufen wird ob es geht oder ob du damit dein System zum Hängen bekommst

  • ok .. erst einmal herzlichen Dank für deine prompte Info


    Das würde also bedeuten, dass - wie ich ja auch denke - Agenten, die durch einen User getriggert werden - also zum Beispiel über eine Schaltfläche , ein Event oder anderes - grundsätzlich parallel laufen können !


    Soweit so gut ...
    die Beschränkung auf den einen Agenten pro DB bezieht sich dann immer auf die Scheduled Agents ?

  • Nein nicht ganz:


    Sie beziehen sich wie gesagt auf Scheduled und Event getriggerte Agenten.
    Nicht betroffen sind manuell ausgelöste Agenten, also durch Schaltflächen oder so und Agenten, die durch einen anderen Server Task ausgeführt werden.
    Aber alle die durch den Agent Manager ausgeführt werder haben dieses Limit

  • Ha .. das bestätigt mich !!!!
    Besten Dank ..
    interessanterweise habe ich nämlich auch auf die Threads verwiesen, die ja zu mehreren für einen User laufen können ...


    Es kann ja nicht sein, dass nicht mehrere Agenten in einer DB gleichzeitig laufen können . So wären ja komplexe DBs gar nicht möglich !


    So sind doch dann lediglich noch Beschränkungen hinsichtlich Ausführungsrechte und Performance des Servers zu beachten ...



    Weisst du eigentlich wie sich das dan nauch bei Synchronen Web-Agenten verhält ? Da ist es meines Erachtens nämlich ganz genauso ! Da können soviel laufen wie der Server von der Hardware und Einstellung hergibt !

  • Was verstehst du unter synchrone Web Agenten ?


    Kommt immer auf die Anwendungsarchitektur an. Wenn natürlich einer Funktionalitäten in 20 Agenten verteilt, die alle periodisch ablaufen müssen, dann wird das eben nicht wie gewüsncht zeitnah gehen, ja nach Laufzeit der einzelnen Agenten.

  • nun .. synchrone Agenten sind diejenigen Agenten , die wirklich getriggert werden .. entweder durch zB einen @Command oder aber ne URL a la ?OpenAgent


    Wer verschachtelte Agenten programmiert ist in der Regel selber schuld ;)


    Aber ich denk .. aus der Diskussion mit dir heraus bin ich in meiner Meinung bestärkt, dass die Beschränkung wirklich nur auf die AgentManager-abhängigen Agenten zutrifft - somit die scheduled-Agents


    Jede Aktion, die mit Agenten auf Dokumente - beim Speichern, Öffnen oder mittels "Refresh"-Aktionen passieren sollten mehrfach gleichzeitig ausgeführt werden können ...


    ausser es gibt hardware- oder sicherheits-technische Einschränkungen !