Как получить вложенных агентов конкретного сервисного блока в Anylogic

Я работаю над структурой модели продажи билетов, где мы получаем запросы на создание одной или нескольких учетных записей пользователей в системе SAP. Запрос — это агент, в котором есть несколько агентов — пользователей. Как получить вложенных агентов конкретного сервисного блока в Anylogic

Итак, как вы можете видеть на изображении, у нас есть

Источник - Запрос поступает отсюда.
Задержка (createRequestNo) - Номер запроса. назначается запросу в этом блоке.
Сервис (создание пользователя) - Пользователи создаются в этом блоке.
Раковина - Запрос (агент) выходит из этого блока.
пул ресурсов — команда из 15 человек, которая занимается созданием учетных записей пользователей. Он связан с сервисным блоком.

Представьте, что приходит массовый запрос на создание 5 пользователей.
Как ресурсы в сервисном блоке обрабатывают все 5 пользовательских агентов, которые находятся внутри агента запроса?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
40
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы говорите, что ваш агент запроса, который проходит через поток процесса, имеет в нем несколько агентов, но это не обязательно должны быть агенты, они могут быть чистыми классами Java, или запросы могут также просто содержать несколько пользователей для создания.

Все зависит от требуемой детализации

Чтобы ответить на ваш вопрос, вы можете получить доступ к внутренней части агентов, которые проходят через поток процессов, и использовать их для определения задержки или количества ресурсов, которые необходимо захватить, следующим образом:

Просто убедитесь, что тип агента в дополнительных настройках установлен на тип агента, который вы ожидаете в этом блоке. Если вы установите источник для создания определенного типа агента, он автоматически обновит все последовательно подключенные блоки для вас.

Обратите внимание, что если процесс создания пользователя будет отличаться для каждого создаваемого пользователя, вам нужна отдельная задержка для каждого пользователя... и, таким образом, было бы лучше разделить на несколько агентов для каждого создания пользователя, а затем заставить их захватывать, задерживать и выпускать каждый ресурс отдельно.

С вашей нынешней логикой их всех схватят и отпустят одновременно.

Спасибо @Jaco за такую ​​сложную работу в очень короткие сроки. Обратите внимание, что пользователи в запросе могут иметь другой тип, например. Финансовый пользователь, производственный пользователь и т. д. плюс нам, возможно, придется назначить им разные роли. Итак, я хочу создать их как агентов внутри запроса, а не коллекции. Но это битва для другого дня. Я хотел бы сначала решить эту проблему (конкретные ресурсы блока службы, обрабатывающие вложенного агента).

Yash 24.03.2022 09:00

Спасибо за разъяснение, но единственным фактором, влияющим на большее количество или разных пользователей внутри запроса, будет более длительная задержка на захваченном ресурсе, верно? Таким образом, вы просто обновляете формулу задержки. В конце задержки в коде onExit вы снова можете использовать коллекции пользователей для создания фактических записей данных или чего-то еще, что вы хотите сделать. Это решает ваш вопрос?

Jaco-Ben Vosloo 24.03.2022 09:27

Хорошо, даже если мы исходим из того предположения, что мы будем играть с временем задержки, чтобы имитировать реальный сценарий, но есть ли способ хотя бы показать, что 5 ресурсов обрабатывают этот пришедший запрос?

Yash 24.03.2022 11:35

Да - Смотрите мой обновленный скриншот, я написал это в тексте, но не показал на скриншоте. Вы просто захватываете количество ресурсов, равное количеству пользователей, которых нужно создать.

Jaco-Ben Vosloo 24.03.2022 11:42

Спасибо @Jaco-Ben - я применил его и проверил с помощью линии трассировки. Работает как шарм. Загрузил модель для будущей помощи. cloud.anylogic.com/model/4d52664c-3d11-42fa-b800-fa151fbf5d6‌​2?mode=SETTINGS&tab=‌​ОБЩИЕ

Yash 24.03.2022 13:41

Спасибо, не забудьте принять мой ответ, если вы нашли его полезным, и проголосовать, если считаете его достойным ;-)

Jaco-Ben Vosloo 25.03.2022 13:21

Другие вопросы по теме