use settings object

This commit is contained in:
Tommy Parnell
2014-10-20 12:42:23 -04:00
parent a3542aca26
commit 871a55cd22
4 changed files with 27 additions and 19 deletions

View File

@@ -7,13 +7,14 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using NOCQ.Extensability; using NOCQ.Extensability;
using System.IO;
namespace NOCQ.Application namespace NOCQ.Application
{ {
class MainClass class MainClass
{ {
public static void Main (string[] args) public static void Main (string[] args)
{ {
var s = RedisDatabase.GetNextAlert("127.0.0.1", RedisQueues.Input, 6379, 3000); var s = RedisDatabase.GetNextAlert(SettingsParser.SettingsFile(File.ReadAllText(Path.Combine(".","settings.json"))));
// process s // process s
var importPlugs = CatalogRepository.GetImportPlugins(); var importPlugs = CatalogRepository.GetImportPlugins();

View File

@@ -3,36 +3,43 @@ using ctstone.Redis;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Configuration; using System.Configuration;
using Newtonsoft.Json; using Newtonsoft.Json;
using NOCQ.Settings;
namespace NOCQ namespace NOCQ
{ {
public sealed class RedisDatabase public sealed class RedisDatabase
{ {
private string host { get; set; }
private string q { get; set; }
private string port {get;set;}
private int timeout { get; set;}
public RedisDatabase(){} public RedisDatabase(){}
public static void SaveAlert(Alert alert, string host, string q, int port, int timeout) public static void SaveAlert(Alert alert, RedisSettings setting)
{ {
using (var redis = new RedisClient(host, using (var redis = new RedisClient(setting.Hostname,
port, setting.Port,
timeout setting.Timeout
)) ))
{ {
redis.LPush(q, JsonConvert.SerializeObject(alert)); redis.LPush(setting.InputQueue, JsonConvert.SerializeObject(alert));
} }
} }
public static Alert GetNextAlert(string host, string q, int port, int timeout ) public static Alert GetNextAlert(RedisSettings setting)
{ {
using (var redis = new RedisClient(host, using (var redis = new RedisClient(setting.Hostname,
port, setting.Port,
timeout setting.Timeout
)) ))
{ {
var ts = redis.RPop(q); var ts = redis.RPop(setting.OutputQueue);
return JsonConvert.DeserializeObject<Alert>(ts); return JsonConvert.DeserializeObject<Alert>(ts);

View File

@@ -3,8 +3,6 @@
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>10.0.0</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{83651B7D-B58F-46B8-BFE2-BCC0A6C92C7A}</ProjectGuid> <ProjectGuid>{83651B7D-B58F-46B8-BFE2-BCC0A6C92C7A}</ProjectGuid>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<RootNamespace>NOCQ</RootNamespace> <RootNamespace>NOCQ</RootNamespace>
@@ -72,7 +70,9 @@
<DependentUpon>EmailSettings.cs</DependentUpon> <DependentUpon>EmailSettings.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Model\Alert.cs" /> <Compile Include="Model\Alert.cs" />
<Compile Include="DB\RedisQueues.cs" /> <Compile Include="DB\RedisQueues.cs">
<DependentUpon>RedisDatabase.cs</DependentUpon>
</Compile>
<Compile Include="Settings\SettingsFIle.cs" /> <Compile Include="Settings\SettingsFIle.cs" />
<Compile Include="Settings\RedisSettings.cs" /> <Compile Include="Settings\RedisSettings.cs" />
<Compile Include="Settings\SettingsParser.cs" /> <Compile Include="Settings\SettingsParser.cs" />

View File

@@ -4,11 +4,11 @@ namespace NOCQ.Settings
{ {
public class RedisSettings public class RedisSettings
{ {
public string hostname {get;set;} public string Hostname {get;set;}
public string port {get;set;} public int Port {get;set;}
public string timeout{get;set;} public int Timeout{get;set;}
public string inputQueue{get;set;} public string InputQueue{get;set;}
public string outputQueue{get;set;} public string OutputQueue{get;set;}
} }
} }