pass q key to db methods

This commit is contained in:
Tommy Parnell
2014-05-07 13:44:19 -07:00
parent ee65dbc1f3
commit 94bdc36210
3 changed files with 20 additions and 6 deletions

View File

@@ -9,27 +9,28 @@ namespace NOCQ
{ {
public RedisDataase(){} public RedisDataase(){}
public static async Task SaveAlert(IAlert alert) public static async Task SaveAlert(IAlert alert, string q)
{ {
using (var redis = new RedisClientAsync(ConfigurationManager.AppSettings["DBQueueKey"], using (var redis = new RedisClientAsync(q,
Convert.ToInt32(ConfigurationManager.AppSettings["Port"]), Convert.ToInt32(ConfigurationManager.AppSettings["Port"]),
Convert.ToInt32(ConfigurationManager.AppSettings["Timeout"]) Convert.ToInt32(ConfigurationManager.AppSettings["Timeout"])
)) ))
{ {
await redis.LPush(ConfigurationManager.AppSettings["DBQueueKey"], alert); await redis.LPush(q, alert);
} }
} }
public static async Task<Alert> GetNextAlert() public static async Task<Alert> GetNextAlert(string q)
{ {
using (var redis = new RedisClientAsync(ConfigurationManager.AppSettings["DBQueueKey"],
using (var redis = new RedisClientAsync(q,
Convert.ToInt32(ConfigurationManager.AppSettings["Port"]), Convert.ToInt32(ConfigurationManager.AppSettings["Port"]),
Convert.ToInt32(ConfigurationManager.AppSettings["Timeout"]) Convert.ToInt32(ConfigurationManager.AppSettings["Timeout"])
)) ))
{ {
var ts = await redis.RPop(ConfigurationManager.AppSettings["DBQueueKey"]); var ts = await redis.RPop(q);
return JsonConvert.DeserializeObject<Alert>(ts); return JsonConvert.DeserializeObject<Alert>(ts);

View File

@@ -0,0 +1,12 @@
using System;
using System.Configuration;
namespace NOCQ
{
public struct RedisQueues
{
public static string Input = ConfigurationManager.AppSettings["DBQueueInput"];
public static string Output = ConfigurationManager.AppSettings["DBQueueOutput"];
}
}

View File

@@ -75,6 +75,7 @@
<Compile Include="Model\Alert.cs" /> <Compile Include="Model\Alert.cs" />
<Compile Include="Plugins\Email\IParseRule.cs" /> <Compile Include="Plugins\Email\IParseRule.cs" />
<Compile Include="Model\IAlert.cs" /> <Compile Include="Model\IAlert.cs" />
<Compile Include="DB\RedisQueues.cs" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup> <ItemGroup>