static void Main(string[] args) { var repo = new TextRepository(); var messages = new TextMessages(); Console.WriteLine("Listening for ExchangeText event, press Ctrl+C to stop..."); messages.ConsumeMessagesInLoop(TextMessages.QueueTextListener, TextMessages.ExchangeText, (model, id) => { var text = repo.GetText(id); Console.WriteLine(id + ": " + text); }); }
static void Main(string[] args) { int remainingAccepts = processingLimit; var messages = new TextMessages(); var repo = new TextRepository(); var metrics = new TextMetrics(); Console.WriteLine("Listening for ExchangeText/ExchangeTextSuccessMarked events, press Ctrl+C to stop..."); using (var connection = messages.CreateConnection()) using (var channel = connection.CreateModel()) { messages.ListenMessages(channel, TextMessages.QueueTextProcessingLimiter, TextMessages.ExchangeText, (model, id) => { Console.WriteLine("captured text '" + repo.GetText(id) + "' with id=" + id); bool accepted = false; if (remainingAccepts > 0) { --remainingAccepts; accepted = true; } repo.SetTextStatus(id, accepted ? TextStatus.Accepted : TextStatus.Rejected); messages.SendProcessingAccepted(id, accepted); }); messages.ListenMessages(channel, TextMessages.QueueTextProcessingLimiterRevoke, TextMessages.ExchangeTextSuccessMarked, (model, json) => { var message = TextSuccessMarkedMessage.FromJson(json); repo.SetTextStatus(message.ContextId, TextStatus.Ready); Console.WriteLine("revoke transaction for successful text '" + repo.GetText(message.ContextId) + "' with id=" + message.ContextId); if (message.Success) { ++remainingAccepts; } }); while (true) { Thread.Sleep(Timeout.Infinite); } } }
static void Main(string[] args) { var messages = new TextMessages(); var repo = new TextRepository(); var metrics = new TextMetrics(); Console.WriteLine("Listening for ExchangeTextRankTask event, press Ctrl+C to stop..."); messages.ConsumeMessagesInLoop(TextMessages.QueueVowelConsCounter, TextMessages.ExchangeTextRankTask, (model, id) => { try { string text = repo.GetText(id); int vowelCount = metrics.GetVowelCount(text); int consCount = metrics.GetConsonantsCount(text); messages.SendTextScoreTask(id, vowelCount, consCount); Console.WriteLine(id + " vowel count: " + vowelCount + ", cons count: " + consCount); } catch (Exception ex) { Console.WriteLine("exception occured: " + ex.ToString()); } }); }
public string Get(string id) { var repo = new TextRepository(); return(repo.GetText(id)); }