public override void Execute(IOperation operation, IOperationLogger logger) { if (!moduleStore.IsModuleExists(operation, ModuleId).Result) { throw CommonExceptions.ModuleWasNotFound(operation, ModuleId); } logger.Debug($"[Operation: {operation.ComplexOperationId}, module: {ModuleId}] Setting module status to \"{ModuleStatus.GetDescription()}\"").Wait(); moduleStore.ChangeStatus(operation, ModuleId, ModuleStatus).Wait(); logger.Debug($"[Operation: {operation.ComplexOperationId}, module: {ModuleId}] Module status was updated").Wait(); }
public override void Execute(IOperation operation, IOperationLogger logger) { if (!moduleStore.IsModuleExists(operation, ModuleId).Result) { throw CommonExceptions.ModuleWasNotFound(operation, ModuleId); } logger.Debug($"[Operation: {operation.ComplexOperationId}, module: {ModuleId}] Module update didn't complete successfully, setting status to \"{ModuleStatus.GetDescription()}\"").Wait(); moduleStore.ChangeStatus(operation, ModuleId, ModuleStatus).Wait(); moduleStore.AddModuleHistoryRecord(operation, ModuleId, ErrorMessage).Wait(); logger.Debug($"[Operation: {operation.ComplexOperationId}, module: {ModuleId}] Module status was updated").Wait(); }
public async Task LaunchModule(IOperation operation, int moduleId) { if (!await moduleStore.IsModuleExists(operation, moduleId)) { throw CommonExceptions.ModuleWasNotFound(operation, moduleId); } if (!(await moduleStore.HasStatuses(operation, moduleId, ModuleStatus.Stopped, ModuleStatus.FailedToRun)).Any()) { throw CommonExceptions.FailedToRunModule(operation); } await moduleStore.ChangeStatus(operation, moduleId, ModuleStatus.UpdatedToRun); await new ProcessDefinition.StartProcessInstanceByKeyRequest(CamundaWorkerKey.ModuleLaunchProcess) { BusinessKey = moduleId.ToString(), Variables = new CamundaVariables { { CamundaWorkerKey.ModuleId, moduleId }, { CamundaWorkerKey.Action, ActionType.NoChanges } } }.SendRequest(operation, camundaClient, true); }
public override void Execute(IOperation operation, IOperationLogger logger) { var moduleIdsAndStatuses = new Dictionary <int, ModuleStatus>(); foreach (var(id, instanceId) in ModuleProcessInstanceIds) { new ProcessInstance.DeleteRequest(instanceId) { FailIfNotExists = false }.SendRequest(operation, camundaClient, true).Wait(); moduleStore.ChangeStatus(operation, id, ModuleStatus.UpdatedToUninstall).Wait(); moduleIdsAndStatuses.Add(id, ModuleIdsAndStatuses[id]); } ModuleIdsAndStatuses = moduleIdsAndStatuses; var(moduleId, status) = moduleIdsAndStatuses.FirstOrDefault(); ModuleId = moduleId; ComponentsStopRequired = status == ModuleStatus.Run; }