def __init__(self, pecaA, pecaB): # Relógio de simulação - variável que contém o valor do tempo em cada instante self.instant = 0 # valor inicial a zero # Serviço - pode haver mais do que um num simulador self.fila_envernizamento = fila.Fila(self, 'envernizamento', 30, pecaA.n_servicos_envernizamento) self.fila_polimento_A = fila.Fila(self, 'polimento', 45, pecaA.n_servicos_polimento, self.fila_envernizamento) self.fila_polimento_B = fila.Fila(self, 'polimento', 60, pecaB.n_servicos_polimento, self.fila_envernizamento) self.fila_perfuracao_A = fila.Fila(self, 'perfuracao', 75, pecaA.n_servicos_perfuracao, self.fila_polimento_A) self.fila_perfuracao_B = fila.Fila(self, 'perfuracao', 90, pecaB.n_servicos_perfuracao, self.fila_polimento_B) # Lista de eventos - onde ficam registados todos os eventos que vão ocorrer na simulação # Cada simulador só tem uma self.event_list = lista.Lista(self) # Agendamento da primeira chegada # Se n�o for feito, o simulador n�o tem eventos para simular self.insereEvento( eventos.Chegada(self.instant, self, self.fila_perfuracao_A, pecaA)) self.insereEvento( eventos.Chegada(self.instant, self, self.fila_perfuracao_B, pecaB))
def __init__(self, m_cheg_a, m_cheg_b, n_sim, toggle_sim, md_per_a, dv_per_a, nm_per_a, md_per_b, dv_per_b, nm_per_b, md_pol_a, dv_pol_a, nm_pol_a, md_pol_b, dv_pol_b, nm_pol_b, md_env, dv_env, nm_env, s_cheg_a, s_cheg_b, s_per_a, s_per_b, s_pol_a, s_pol_b, s_env): self.media_cheg_a = m_cheg_a self.media_cheg_b = m_cheg_b self.n_sim = n_sim self.toggle_sim = toggle_sim if s_cheg_a != 0: rand_generator.randst(s_cheg_a, 0) if s_cheg_b != 0: rand_generator.randst(s_cheg_b, 1) if s_per_a != 0: rand_generator.randst(s_per_a, 2) if s_per_b != 0: rand_generator.randst(s_per_b, 3) if s_pol_a != 0: rand_generator.randst(s_pol_a, 4) if s_pol_b != 0: rand_generator.randst(s_pol_b, 5) if s_env != 0: rand_generator.randst(s_env, 6) #Relógio de simulação - variável que contém o valor do tempo em cada instante self.instant = 0 #valor inicial a zero self.envernizamento = fila.Fila(self, md_env, dv_env, nm_env, None, 6) self.polimento_b = fila.Fila(self, md_pol_b, dv_pol_b, nm_pol_b, self.envernizamento, 5) self.polimento_a = fila.Fila(self, md_pol_a, dv_pol_a, nm_pol_a, self.envernizamento, 4) self.perfuracao_b = fila.Fila(self, md_per_b, dv_per_b, nm_per_b, self.polimento_b, 3) self.perfuracao_a = fila.Fila(self, md_per_a, dv_per_a, nm_per_a, self.polimento_a, 2) #Lista de eventos - onde ficam registados todos os eventos que vão ocorrer na simulação #Cada simulador só tem uma self.event_list = lista.Lista(self) #Agendamento da primeira chegada #Se não for feito, o simulador não tem eventos para simular if self.media_cheg_a != 0: self.insereEvento( eventos.Chegada(self.instant, self, self.perfuracao_a, True)) #começa geração de A if self.media_cheg_b != 0: self.insereEvento( eventos.Chegada(self.instant, self, self.perfuracao_b, False)) #começa geração de B
def start_server(soc): f1 = fila.Fila() f2 = fila.Fila() f3 = fila.Fila() while True: connection, address = soc.accept() print("Conectado com: " + str(address[0]) + ":" + str(address[1])) try: Thread(target=client_thread, args=(connection, address, f1, f2, f3)).start() except: print("client_tread não iniciou.") traceback.print_exc() soc.close()
def numeroDeFila(self, numero): f = fila.Fila() for i in range(_FILA_LENGTH): if (f.esNumero(numero)): return i else: return -1
def setup(self): # Serviço - pode haver mais do que um num simulador # Queues for objects of type A. #Queues for both objects aleatorio.Random.reset_stream_count() self.envernizamento_queue = fila.Fila( self, 2, self.dist_envernizamento, None, self.numero_maquinas_envernizamento, 100000 + 1000000 * self.repeticao_i) self.a_polimento_queue = fila.Fila(self, 1, self.dist_polimento_A, self.envernizamento_queue, self.numero_maquinas_polimento_A, 200000 + 1000000 * self.repeticao_i) self.b_polimento_queue = fila.Fila(self, 2, self.dist_polimento_B, self.envernizamento_queue, self.numero_maquinas_polimento_B, 300000 + 1000000 * self.repeticao_i) self.b_perfuracao_queue = fila.Fila( self, 1, self.dist_perfuracao_B, self.b_polimento_queue, self.numero_maquinas_perfuracao_B, 400000 + 1000000 * self.repeticao_i) self.a_perfuracao_queue = fila.Fila( self, 1, self.dist_perfuracao_A, self.a_polimento_queue, self.numero_maquinas_perfuracao_A, 500000 + 1000000 * self.repeticao_i) # Lista de eventos - onde ficam registados todos os eventos que vão ocorrer na simulação # Cada simulador só tem uma self.event_list = lista.Lista(self) # Agendamento da primeira chegada # Se não for feito, o simulador não tem eventos para simular r1 = aleatorio.Random(600000 + 1000000 * self.repeticao_i) r2 = aleatorio.Random(700000 + 1000000 * self.repeticao_i) self.insereEvento(eventos.Chegada(self.instant, self, 'A', r1)) self.insereEvento(eventos.Chegada(self.instant, self, 'B', r2))
def __init__(self, bits, srv, cAnt, cAtu, cSuc, pAnt, pAtu, pSuc, tsnap): self.port = pAtu self.bits = bits self.srv = srv self.cAnt = cAnt self.cAtu = cAtu self.cSuc = cSuc self.pAnt = pAnt self.pAtu = pAtu self.pSuc = pSuc self.time_snap = tsnap self.chaves = [] self.f1 = fila.Fila() self.f2 = fila.Fila() self.f3 = fila.Fila() self.f4 = fila.Fila() self.fresp = fila.Fila() self.bd = banco.Banco() self.log = log.Log(self.time_snap, self.cAtu) self.cfg = config.Config() self.host = self.cfg.getHost().strip("\n") self.visitado = False self.versao_snap = 0
import fila if __name__ == "__main__": f = fila.Fila() print('### Estado inicial') f.imprime() for i in range(3): f.enfileira(i) print('### Apos enfileiramento') f.imprime() for i in range(3): e = f.desenfileira() print('Objeto removido: {}'.format(e)) print('### fila') f.imprime()
from concurrent import futures import grpc import servicos_pb2 import servicos_pb2_grpc import threading import fila import banco import time import os import config import random _ONE_DAY_IN_SECONDS = 60 * 60 * 24 f1 = fila.Fila() f2 = fila.Fila() f3 = fila.Fila() f4 = fila.Fila() bd = banco.Banco() class Requisicao(servicos_pb2_grpc.RequisicaoServicer): def Create(self,request,context): requisicao = "1 " + request.chave + " " + request.valor #tratar responsabilidade f1.insere(requisicao) def Read(self, request, context): requisicao = "2 " + request.chave f1.insere(requisicao)
#[RP_A] Resposta pouso autorizado. #[C]Comunicação #[R_C]Resposta de Comunicação #[D]Decolagem - Solicitacao #[RD_AG]Resposta de Decolagem Aguardar #[RD_A]Resp Decolagem Autorizado import random as r import fila as fila import time as tempo import threading as thread espera = 3 tempo_operacao = 4 L_voos = [] fila_pouso = fila.Fila() fila_pista = fila.Fila() compa_avioes = ["AZUL", "TAM", "GOL", "COPA"] l_cidade = ["Manaus", "Belem", "Salvador", "Rio de Janeiro", "Florianópolis"] l_cidade_destino = ["Natal", "Teresina", "Fortaleza", "Curitiba"] L_pousos_soli = [] L_pousos_eme = [] L_resp_p_ag = [] L_resp_p_a = [] L_dec_soli = [] L_resp_dec_a = [] L_resp_dec_ag = [] L_c = [] L_resp_c = []
def setUp(self): self.testFila = fila.Fila()