static async Task <int> MainAsync(string[] args) { try { #region Test /* * // WARNING: Remove or comment out this part for production. * var testArgs = AppSettings.SensorListener.ExecutionParamsStringExample.Split(' '); * args = testArgs; */ #endregion Test _parsedInputParams = CommandLineArgsParser.CommandLineArgsParser.ParseInputParams(args); } catch (Exception ex) { var errorMessage = "ERROR: execution params parsing failed.\r\n" + ex.Message; Console.WriteLine(errorMessage); return(1); } _measurementName = AppSettings.MeasurementNameBase + _parsedInputParams.TestId; _influxClient = new InfluxClient(new Uri(AppSettings.InfluxHost)); // var databases = await _client.ShowDatabasesAsync(); await _influxClient.CreateDatabaseAsync(AppSettings.InfluxDatabaseName); // Creates Influx database if not exist InitTimer(_parsedInputParams.ProgramExecutionTime); try { Console.WriteLine("Listening to port: {0}...", AppSettings.SensorListener.ListenPort); Thread receiveThread = new Thread(new ThreadStart(ReceiveMessage)); receiveThread.Start(); } catch (Exception ex) { Console.WriteLine(ex.Message); return(2); } return(0); }
internal ConsoleBigFileCreator(string inputParams) { _params = new ParsedInputParams(inputParams); }
static async Task <int> MainAsync(string[] args) { var x = InfluxHost; _client = new InfluxClient(new Uri(InfluxHost)); await _client.CreateDatabaseAsync(InfluxDatabaseName); // Creates Influx database if not exist try { #region Test var isDebug = true; if (isDebug) { // WARNING: Remove or comment out this part for production. var testArgs = ExecutionParamsStringExample.Split(' '); args = testArgs; } #endregion Test _parsedInputParams = ParseInputParams(args); } catch (Exception ex) { var errorMessage = "ERROR: execution params parsing failed.\r\n" + ex.Message; Console.WriteLine(errorMessage); return(1); } foreach (var testSensorsInfo in _parsedInputParams.TestSensorsInfo) { var query = QueryMaker.GetSensorOutputsForTest( testSensorsInfo.TestId, _parsedInputParams.LeftTimeBorder, _parsedInputParams.RightTimeBorder, testSensorsInfo.Sensors); var resultSet = await _client.ReadAsync <SensorOutput>(InfluxDatabaseName, query); var results = resultSet.Results[0]; var series = results.Series; if (series.Count < 1) { Console.WriteLine( $"WARNING: There were no outputs found for the specified parameters: \r\n" + GetSearchConditionsString(_parsedInputParams.LeftTimeBorder, _parsedInputParams.RightTimeBorder, testSensorsInfo)); continue; } var retrievedOutputs = series[0].Rows; try { await ParseSensorsDatatypeAsync(testSensorsInfo.Sensors); } catch (Npgsql.PostgresException postgresException) { Console.WriteLine("ERROR:" + postgresException.Message); return(1); } catch (Exception e) { Console.WriteLine(e.Message); } var outputsForExport = ParseRetrievedData(retrievedOutputs); var jsonExport = new JsonExport( testSensorsInfo.TestId, _parsedInputParams.LeftTimeBorder, _parsedInputParams.RightTimeBorder, outputsForExport); var exportedFile = jsonExport.GetSensorOutputsFile(); // var directoryPath = DefaultDirectoryPath; var directoryPath = _parsedInputParams.DirectoryPath; try { FileWriter.WriteFileToDirectory(directoryPath, exportedFile.FileContents, exportedFile.FileName); WriteSuccessMessage( _parsedInputParams.LeftTimeBorder, _parsedInputParams.RightTimeBorder, testSensorsInfo, exportedFile.FileName ); } catch (Exception e) { Console.Write("ERROR: Writing to file failed with the following message: "); Console.WriteLine(e); } } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); return(0); }