private void MakeAbort(MakeActiveSelectedReleaseCommand notification, SyrupExecuteResult executeResult) { _logCtrl.Info($"Error: {executeResult.Messages.First()}"); _mediator.Publish( new LongProcessEndedEvent($"{notification.LocalReleaseInfoDto.Name} activation faild", int.MinValue, LongProcessType.IsIndeterminate)); }
private SyrupExecuteResult Run(ExecutorRequest syrupContainer) { var executeResult = new SyrupExecuteResult(); string fileString; var text = JsonConvert.SerializeObject(syrupContainer); var path = _registry.SyrupExecutorFilePath; var fileName = $"{Consts.MEM_FILE_PREFIX}-{Guid.NewGuid()}"; var size = Consts.MEM_FILE_SIZE; _log.Debug($"Create mem file; Name: {fileName}; Size: {size}b "); _log.Debug($"Script runner: {path}"); using (var mmf = MemoryMappedFile.CreateNew(fileName, size)) { using (var stream = mmf.CreateViewStream()) { var writer = new BinaryWriter(stream); writer.Write(text); } _log.Debug($"Starting script runner: {path}"); // Command line args are separated by a space var p = Process.Start(path, fileName); _log.Debug("Waiting child to die"); p.WaitForExit(); _log.Debug("Child died"); using (var stream = mmf.CreateViewStream()) { var reader = new BinaryReader(stream); fileString = reader.ReadString(); } } _log.Debug($"Execute result: {fileString}"); return(executeResult); }