擅长:python、mysql、java
<p>我想每2个单位的时间得到一些产品库存在5个循环,然后退出过程。
将延迟(2)更改为环境超时(2),它将不起作用</p>
<pre><code>import simpy
class Factory():
def __init__(self, env):
self.materials = simpy.Container(env, capacity = 10000, init = 9000)
self.stock = simpy.FilterStore(env, capacity = 10000)
def create_stock(env, factory):
while True:
print('time:{0} materials:{1} stock:{2}'.format(env.now,factory.materials.level,len(factory.stock.items)))
yield factory.materials.get(1)
for i in range(5):
for j in range(2):
factory.stock.put({'order_id': 'order_id', 'id':j})
env.timeout(2)
yield env.timeout(0)
env = simpy.Environment()
factory = Factory(env)
on_process = env.process(create_stock(env, factory))
print('start...')
env.run(until = 30)
print('end')
</code></pre>