def makeProcess(self,lines,queue1,queue3): t1=0 for line in lines: props = line.split(';') opciones = list() for i in range(4, len(props)): opciones.append(props[i]) while not queue1.empty(): t1=queue1.get() process = proceso.proceso(props[0], int(props[1])+t1, props[2], props[3], opciones) self.procesos.append(process) queue3.put(sorted(self.procesos, key=lambda proceso: proceso.fecha))
def enviar_mensaje(self, queue2): while not queue2.empty(): self.procesosEnWaiting=queue2.get() numero = int(raw_input("Ingrese el numero al cual desea mandarle un mensaje\n")) mensaje = raw_input("Escriba el mensaje\n") time = datetime.datetime.now() l = list() l.append(numero) l.append(mensaje) p = proceso.proceso("enviar_mensaje", 0, 3, 2, l) self.procesosEnWaiting.append(p) self.procesosEnWaiting = sorted(self.procesosEnWaiting, key=lambda proceso: proceso.prioridad)#ordeno la lista seun prioridad queue2.put(self.procesosEnWaiting) f=open("Mensajes.txt", "a") linea = "Mensaje_Enviado" + ":" + str(numero) + ";" + str(time)+ ";" + mensaje + "\n" f.write(linea) f.close()
def __set_properties(self): # begin wxGlade: MyFrame.__set_properties self.SetTitle("Sistema") self.SetSize((390, 468)) self.status_bar.SetFieldsCount(3) self.procesos.SetMinSize((380, 468)) self.procesos.InsertColumn(0, "ID", wx.LIST_FORMAT_CENTER, 50) self.procesos.InsertColumn(1, "TamaƱo", wx.LIST_FORMAT_CENTER, 80) self.procesos.InsertColumn(2, "Tiempo", wx.LIST_FORMAT_CENTER, 80) self.procesos.InsertColumn(3, "Recursos", wx.LIST_FORMAT_CENTER, 80) self.procesos.InsertColumn(4, "H.D.", wx.LIST_FORMAT_CENTER, 80) self.memoria.SetMinSize((380, 468)) self.memoria.InsertColumn(0, "", wx.LIST_FORMAT_LEFT, 80) self.memoria.InsertColumn(1, "Memoria", wx.LIST_FORMAT_CENTER, 300) self.concurrencia.SetMinSize((380, 468)) self.concurrencia.InsertColumn(0, " ", wx.LIST_FORMAT_CENTER, 50) self.concurrencia.InsertColumn(1, "Tiempo Inicial", wx.LIST_FORMAT_CENTER, 165) self.concurrencia.InsertColumn(2, "Tiempo Final", wx.LIST_FORMAT_CENTER, 165) self.ent_sal.SetMinSize((380, 468)) self.ent_sal.InsertColumn(0, " ", wx.LIST_FORMAT_CENTER, 50) self.ent_sal.InsertColumn(1, "Tiempo Recurso", wx.LIST_FORMAT_CENTER, 105) self.ent_sal.InsertColumn(2, "Tiempo Ini", wx.LIST_FORMAT_CENTER, 105) self.ent_sal.InsertColumn(3, "Tiempo Fin", wx.LIST_FORMAT_CENTER, 105) #llenando la tabla de procesos for i in range(self.numero_procesos): self.tareas.append(proceso.proceso(self, i, self.monitor)) #self.tareas[self.tareas.__len__()-1].Start() #copiamos self.temp_tareas = self.tareas[:] self.status_bar.SetStatusText("Tiempo: 1s",0) self.status_bar.SetStatusText("Memoria: %d MB" % self.RAM,1) self.status_bar.SetStatusText("Procesos: %d" % self.tareas.__len__(),2)
def llamar(self, queue2): numero = int(raw_input("Ingrese el numero al cual desea llamar\n")) print "Llamando... \n", str(numero) horaInicio = datetime.datetime.now() l=list() l.append(numero) l.append(15) p = proceso.proceso("Hacer_Llamada", 0, 1, 0,l) while not queue2.empty(): self.procesosEnWaiting = queue2.get() self.procesosEnWaiting.append(p) queue2.put(sorted(self.procesosEnWaiting, key= lambda proceso: proceso.prioridad)) cancelar = 1 cancelar = int(raw_input("(0) Cortar")) horaTermino = datetime.datetime.now() tiempo = horaTermino - horaInicio print "Llamada finalizada\n" print "Tiempo de llamada: \n", str(tiempo) f=open("Historial.txt", "a") linea = str(numero) + ";" + str(horaInicio) + ";" + str(tiempo) + "\n" f.write(linea) f.close()
def handler_iniciar(self, event): #iniciamos todo self.tareas = [] self.memoria = [] self.historial = [] #limpiamos la lista self.procesos.DeleteAllItems() #cargamos nuevas tareas for i in range(self.numero_procesos): self.tareas.append(proceso.proceso(self, i, self.monitor)) #respaldo self.temp_tareas = self.tareas dlg = wx.MessageDialog(self, 'Se han creado nuevos procesos!', 'Process', wx.OK | wx.ICON_INFORMATION #wx.YES_NO | wx.NO_DEFAULT | wx.CANCEL | wx.ICON_INFORMATION ) dlg.ShowModal() dlg.Destroy() event.Skip()