def freeze(process_id): processId = int(process_id) process = sharedData.GetProcessByID(processId) if process != None: result = process.DSSocket.SendMessage(DSMessage(DSMessageType.Freeze)) click.echo(result) else: click.echo("Process is not found")
def ping(process_id): """This is an additional command to check the status of a specific process.""" processId = int(process_id) process = sharedData.GetProcessByID(processId) if process != None: result = process.DSSocket.SendMessage(DSMessage(DSMessageType.Ping)) click.echo(result) else: click.echo("ProcessId is not valid, the process wasn't found.")
def set_time(process_id, clock): processId = int(process_id) process = sharedData.GetProcessByID(processId) if process != None: msg = DSMessage(DSMessageType.SetTime) msg.Argument = clock result = process.DSSocket.SendMessage(msg) click.echo(result) else: click.echo("ProcessId is not valid, the process wasn't found.")
def kill(process_id): processId = int(process_id) process = sharedData.GetProcessByID(processId) if process != None: result = process.DSSocket.SendMessage(DSMessage(DSMessageType.Kill)) if result == None: click.echo("The process is killed now.") else: click.echo("The process is killed now - the process with ID '" + str(result) + "' started election.") else: click.echo("Process is not found")
def reload(): defaultProcesses = getProcessesFromFile() newProcesses = [] for process in defaultProcesses: existedProc = sharedData.GetProcessByID(process.Id) if existedProc == None: newProcesses.append(process) if len(newProcesses) == 0: click.echo("No new process(es) initialized") return initializeFromProcesses(newProcesses, True) BullyProcess.StartElectionFromFirstProcess(sharedData) coordinatorProcess = BullyProcess.GetCoordinator(sharedData) click.echo("New process(es) initialized - the process with ID '" + str(coordinatorProcess.Id) + "' is the new coordinator.")