如何阻止服务阻止启动

时间:2019-07-04 08:23:47

标签: java anylogic

我是Anylogic的新手,我想知道是否有可能在轮班结束前保留延迟流程(如果该流程已经开始)。

我正在尝试在服务操作中编写一些代码,但是我找不到正确的代码行。

我希望流程停止,直到下一次资源转移开始为止。

1 个答案:

答案 0 :(得分:1)

您可以使用服务块中的自定义资源选择来做到这一点:

resource choice

self.delayTime(agent)<schedule.getTimeoutToNextValue()

这意味着仅当该代理的延迟时间小于下一个计划事件的时间时,才能选择资源。

如果您对时间单位在模型上的工作方式有疑问,可以放心使用,如果延迟时间以小时为单位,则可以这样明确地定义时间单位。

self.delayTime(agent, HOUR)<schedule.getTimeoutToNextValue()

请确保您的模型时间以小时为单位,因为将根据模型中使用的时间单位来定义函数getTimeoutToNextValue。