private QlikSenseMachineInfo[] GetQlikSenseMachineInfos(SenseApiCollector senseApi, SenseApiSupport senseApiSupport, SenseEnums statusEnums) { try { return(senseApi.GetQlikSenseMachineInfos(senseApiSupport, statusEnums).ToArray()); } catch (Exception e) { _logger.Add("Failed accessing Sense machine Infos", e); throw; } }
private async Task <List <Task> > GetTasksForFullRun(SenseConnectDto dto) { var senseApi = new SenseApiCollector(_logger); var taskList = new List <Task>(); _logger.Add("Sense api connected"); SenseEnums statusEnums = null; QlikSenseMachineInfo[] qlikSenseMachineInfos = null; await Task.Run(() => { statusEnums = new SenseEnums(dto.SenseApiSupport); }).ConfigureAwait(false); _logger.Add("Sense Machine infos collected"); var archivedLogsLocation = string.Empty; if (statusEnums == null) { throw new Exception("Failed accessing sense"); } await Task.Run(() => qlikSenseMachineInfos = GetQlikSenseMachineInfos(senseApi, dto.SenseApiSupport, statusEnums)).ConfigureAwait(false); try { archivedLogsLocation = senseApi.GetQlikSenseArchivedFolderLocation(dto.SenseApiSupport); _logger.Add($"Accessing archived logs at {archivedLogsLocation}."); if (!_filesystem.DirectoryExists(archivedLogsLocation)) { archivedLogsLocation = PathToArchivedLogsDlg.Invoke(archivedLogsLocation); } } catch (Exception ex) { _logger.Add("Failed retreiving Archived folder location from API " + ex); } taskList.Add(Task.Run(async() => { if (ServiceVariables.AllowSenseInfo) { try { var nodeCount = qlikSenseMachineInfos?.Length ?? 0; _notify($"Collecting Information from {nodeCount} Qlik Sense {(nodeCount > 1 ? "nodes" : "node")}.", MessageLevels.Animate, "SenseInfo"); _logger.Add($"Running CommandLineRemoteTasks."); await RunCommandLineRemoteTasks(qlikSenseMachineInfos).ConfigureAwait(false); _logger.Add($"Running GettingAllSettingsFiles."); await RunGettingAllSettingsFiles(qlikSenseMachineInfos).ConfigureAwait(false); _notify("Collecting Qlik Sense Information.", MessageLevels.Animate, "SenseInfo"); _logger.Add($"Running Get all api info."); _collectorHelper.WriteContentToFile(qlikSenseMachineInfos, "qlikSenseMachineInfo"); _collectorHelper.RunAction(() => senseApi.GetQlikSenseServiceInfos(dto.SenseApiSupport, statusEnums).ToArray(), "qlikSenseServiceInfo"); _collectorHelper.RunAction(() => senseApi.GetQrsAbout(dto.SenseApiSupport, statusEnums), "QrsAbout"); _collectorHelper.RunAction(() => senseApi.ExecuteCalAgent(dto.SenseApiSupport, statusEnums), "CalInfo"); _collectorHelper.RunAction(() => senseApi.ExecuteLicenseAgent(dto.SenseApiSupport, statusEnums), "LicenseAgent"); _collectorHelper.RunAction(() => senseApi.GetAboutSystemInfo(dto.SenseApiSupport, statusEnums), "AboutSystemInfo"); _collectorHelper.RunAction(() => senseApi.GetAboutComponents(dto.SenseApiSupport, statusEnums), "AboutComponents"); _collectorHelper.RunAction(() => senseApi.GetQrsDataconnections(dto.SenseApiSupport, statusEnums), "DataConnections"); _collectorHelper.RunAction(() => senseApi.GetQrsServiceCluster(dto.SenseApiSupport, statusEnums), "ServiceCluster"); _collectorHelper.RunAction(() => senseApi.GetQrsProxyService(dto.SenseApiSupport, statusEnums), "ProxyService"); _collectorHelper.RunAction(() => senseApi.GetQrsAppList(dto.SenseApiSupport, statusEnums), "AppList"); _collectorHelper.RunAction(() => senseApi.GetQrsDataConnections(dto.SenseApiSupport, statusEnums), "dataconnectionList"); _logger.Add($"Finished senseInfo"); _notify("Collected Qlik Sense Information.", MessageLevels.Ok, "SenseInfo"); } catch (Exception e) { _logger.Add("Failed getting sense info", e); _notify("Failed collecting Qlik Sense Information.", MessageLevels.Error, "SenseInfo"); } } })); var readerTaskHelper = new SenseLogReaderTasks(_logger, LogDirectorDone, _notify); if (ServiceVariables.AllowRemoteLogs) { taskList.Add(readerTaskHelper.ReadRemoteLogs(qlikSenseMachineInfos, ServiceVariables)); } if (ServiceVariables.AllowArchivedLogs) { taskList.Add(readerTaskHelper.ReadArchivedLogs(archivedLogsLocation, ServiceVariables)); } return(taskList); }