def main(): print "Replay started" pl = Pipeline() pl.addStep(EventGenerator(interval=3000, number=1000)) pl.addStep(TroubleInjector()) dev = dm.getDevice() pl.addStep(TroubleReplayer(dev)) pl.execute() print "Replay finished"
Q1 = Queue('Q1', 'Queue1', capacity=infinity) M2 = Machine('M2', 'Machine2', mean=0.75) Q2 = Queue('Q2', 'Queue2', capacity=infinity) E = Exit('E1', 'Exit') #define predecessors and successors for the objects S.defineRouting([M1]) M1.defineRouting([S], [Q1]) Q1.defineRouting([M1], [M2]) M2.defineRouting([Q1], [Q2]) Q2.defineRouting([M2]) argumentDict = {'from': 'Q2', 'to': 'E1', 'safetyStock': 70, 'consumption': 20} EG = EventGenerator(id="EV", name="ExcessEntitiesMover", start=60, interval=60, method=Globals.moveExcess, argumentDict=argumentDict) G.ObjList = [S, M1, M2, E, Q1, Q2, EG] initialize() #initialize the simulation (SimPy method) for object in G.ObjList: object.initialize() for object in G.ObjList: activate(object, object.run()) G.maxSimTime = 400 simulate(until=G.maxSimTime) #run the simulation