Приостановка обработки в конце смены - PullRequest
0 голосов
/ 31 мая 2018

У меня есть ресурс resource of Pool 1 с заданным графиком включения / выключения.Блок ассемблера захватывает ресурс и затем задерживает его.Если расписание включения / выключения отключает ресурс, пока в задержке ассемблера есть агент, я обнаружил два варианта: 1. Ресурс остается до тех пор, пока задержка не будет завершена и ресурс не будет освобожден.2. Агент выгоняется немедленно, а ресурс освобождается.

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

Было бы более реалистично, если бы работник просто приостановил обработку и продолжил работу над тем же агентом на следующий день.

Явероятно, просто отсутствуют некоторые настройки.Есть ли простой способ получить такое поведение?

1 Ответ

0 голосов
/ 31 мая 2018

Я не знаю, как вы нашли эти опции, но правильный способ сделать это - использовать опцию preemption в блоке ассемблера:

preemption

Чтобы выполнить то, что вы хотите, вам придется использовать опцию «ждать исходного ресурса» или опцию «захватить любой ресурс» (тот же результат, поскольку у вас есть только один ресурс).Политика вытеснения задач определяет, что происходит с вашими агентами, когда ресурс используется для окончания смены или для задачи с более высоким приоритетом.

...