如何在 Anylogic 中获取特定服务块进程嵌套代理

How to get a particular service block process nested agents in Anylogic

我正在研究票务模型框架,我们在其中接收在 SAP 系统中创建单个或批量用户帐户的请求。该请求是一个代理,其中包含多个代理 - 用户。

因此,正如您在图像中看到的那样

来源 - 请求来自这里。
Delay(createRequestNo) - 请求编号。分配给此块的请求。
Service(userCreation) - 在此块创建用户。
Sink - 请求(代理)从这个块出去。
resourcePool - 一个 15 人的团队,致力于创建用户帐户。它链接到服务块。

假设有一个批量请求进来创建 5 个用户。
服务块中的资源如何处理请求代理中的所有 5 个用户代理?

你说你的流经process flow的Request agent里面有很多Agent,但是这些不需要是agent,可以是纯Java 类或者requests也可以简单的携带多个用户来创建。

这完全取决于您需要的粒度

要回答您的问题,您可以访问通过流程的代理内部,并使用它来确定延迟或要占用的资源数量,如下所示:

只需确保高级设置中的代理类型设置为您希望在此块中使用的代理类型。如果您将 Source 设置为创建特定的代理类型,它将自动为您更新所有串行连接的块。

请注意,如果每个要创建的用户的用户创建过程会有所不同,您需要为每个用户单独延迟...因此最好为每个用户创建分成多个代理,然后他们分别占用、延迟和释放每个资源。

按照你现在的逻辑,他们会同时被抓住和释放。