我可以在运行时获得“直到”参数值吗?

时间:2021-07-26 11:36:57

标签: python simpy

我一直想知道是否可以提取传递的'until'参数的值 在运行时到 simpy.run() 方法。可能可以通过存储这个来解决这个问题 其他地方的价值,但我可能只是好奇 simpy 是否提供这样的功能(最终 env 必须知道何时停止运行)。

我试图打印以下结果:dir(env),但我没有发现任何有趣的东西。

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以找到the implementation for Environment.run() here

看起来 until 参数被转换为 Event,带有 schedule()d 的“停止模拟”回调。

如果您真的需要 until 时间,您可以走 Environment._queue,寻找带有 Event 且回调为 StopSimulation.callback 的东西,但这并不简单。

您可能最好只将“下一个”存储到其他地方。

如果需要,可以直接在实例上...

env._next_until = 123  # Hack: stash the next until time
env.run(until=env._next_until)