private void HandleImageLoadRequest(ImageLoadRequest message) { Task t = new Task(async() => { var table = ContainerTable as DockerContainerTable; await table.LoadImage(message.ImageId); var responce = new ImageLoadResponce(message.SenderId, this.MachineId, message.ContainerId, true); CommunicationModule.SendMessage(responce); }); t.Start(); }
private void HandleImageLoadResponce(ImageLoadResponce message) { if (message.State) { Task t = new Task(() => { var container = ContainerTable.GetContainerById(message.ContainerId); ContainerTable.LockContainer(message.ContainerId); container.Checkpoint(this.MachineId); var size = (int)container.GetContainerNeededLoadInfo().CurrentLoad.MemorySize; MigrateContainerRequest request = new MigrateContainerRequest(message.SenderId, this.MachineId, container, size); CommunicationModule.SendMessage(request); ResetBackOff(); }); t.Start(); } else { throw new Exception("How Come its not loaded"); } //GlobalEnviromentVariables.ResetCheckRate(); }