Example #1
0
 def insereClient(self, client, tipo_servico):
     if self.estado < self.numero_de_maquinas:  # Se servico livre(se estado menor que numero de atendedores)
         self.estado += 1  # Fica ocupado e agenda saida do cliente
         self.simulator.insereEvento(
             eventos.Saida(
                 self.simulator.instant + Aleatorio.normal(
                     self.media_serv, self.desvio_padrao, self.seed)[0],
                 self.simulator, tipo_servico, client, self))
     else:
         self.fila.append(
             client
         )  # Se servico ocupado, o cliente vai para a fila de espera
Example #2
0
 def removeClient(self, tipo_servico):
     self.atendidos += 1  # Regista que acabou de atender + 1 cliente
     if not self.fila:  # Se a fila esta vazia,
         self.estado -= 1  # liberta o servico
     else:
         # vai buscar proximo cliente a fila de espera e agenda a sua saida
         if self.aux_rand == 0:
             ran = Aleatorio.normal(self.media_serv, self.desvio_padrao,
                                    self.seed)
             random_number = ran[0]
             self.aux_rand = ran[1]
         else:
             random_number = self.aux_rand
             self.aux_rand = 0
         self.simulator.insereEvento(
             eventos.Saida(self.simulator.instant + random_number,
                           self.simulator, tipo_servico, self.fila.pop(0),
                           self))