2014-11-04 4 views
1

Я использую simpy 3.xx с python 2.7. Я пытаюсь создать симуляцию поезда. Необходимо то, что процесс поезда генерировал запрос на ввод в определенное время в симуляции. Это должно быть очень просто сделать, но по какой-то причине я не могу найти решение.Как запланировать запрос в определенное время?

Предположим, что во время моделирования 20 Я хочу, чтобы процесс генерировал событие запроса, как я могу это сделать? Обычно я генерирую запрос: req = res.request(), а затем возвращает req. Я хочу запланировать событие запроса в определенное время.

+0

Можете ли вы предоставить больше кода, который вы пишете? –

ответ

0

Вы должны начать с события timeout. Вот событие тайм-аута, основанное на the tutorial. Как вы заявили, это порождает событие запроса в момент времени 20.

#at time 20 generate a request event 
import simpy 
class TrainStation: 
    def __init__(self,env): 
     self.env= env 
     self.request_event = env.event() 
     self.request_receiver_process = env.process(self.receive_request()) 
     self.request_producer_process = env.process(self.produce_request()) 

    def produce_request(self): 
     yield self.env.timeout(20) 
     self.request_event.succeed() 
     self.request_event = self.env.event() 

    def receive_request(self): 
     print("Waiting for request at time: {0}".format(env.now)) 
     yield self.request_event 
     print("Request received at time: {0}".format(env.now)) 

env = simpy.Environment() 
trainStation = TrainStation(env) 
env.run() 

 Смежные вопросы

  • Нет связанных вопросов^_^