问题描述
我一直想知道是否可以提取传递的'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)