static void Main(string[] args) { BoltSDK.WorkerTools b = new BoltSDK.WorkerTools(); //b.CreateChannel(); var ip = "localhost"; var factory = new ConnectionFactory() { Uri = "amqp://*****:*****@" + ip }; using (var connection = factory.CreateConnection()) using (var channel = WorkerTools.CreateChannel(connection)) { var consumer = WorkerTools.ConsumeCommand("parseKeywords", channel); WorkerTools.ConsumeCommand("fetchPage", channel, consumer); while (true) { var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue(); var payload = WorkerTools.StartWork(ea); try { if (ea.RoutingKey == "parseKeywords") { var html = payload.SelectToken("return_value.html").ToString(); Console.WriteLine(" [x] Received HTML: " + html); var kw = new List <string>(); kw.Add("abc"); kw.Add("123"); payload["return_value"]["keywords"] = new JArray(kw.ToArray()); Console.WriteLine(" [x] Keywords Parsed: " + payload["return_value"]["keywords"].ToString()); } else if (ea.RoutingKey == "fetchPage") { payload["return_value"]["html"] = "C# Worker Page Content"; } } catch (Exception err) { Console.WriteLine("[x] Error: " + err.ToString()); } finally { WorkerTools.FinishWork(channel, ea, payload); } } ; } }
static Random rand = new Random(); // For random sleep time to test parallel example workers static void Main(string[] args) { var cmd = "messageDotNet"; var secondCmd = "addOrder"; var ip = "192.168.1.14"; // Prepare the MQ connection to be passed to the workers var factory = new ConnectionFactory() { Uri = "amqp://*****:*****@" + ip }; using (var connection = factory.CreateConnection()) { //run worker WorkerTools.RunWork(secondCmd, mySecondWorker, connection); WorkerTools.RunWork(cmd, myWorker, connection); Thread.Sleep(Timeout.Infinite); } }