我可以在运行时获取 'until' 参数值吗?

Can I get 'until' parameter value at runtime?

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

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

您可以找到 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)