public void Execute(Demo3Input input) { using (var context = new Context()) using (var sender = context.Push()) { sender.Bind("tcp://*:5557"); Console.Write("Press enter when the workers are ready: "); Console.ReadKey(); Console.WriteLine(); Console.WriteLine("Sending tasks to workers..."); // Signal the start of the batch sender.Send(BitConverter.GetBytes(0)); var random = new Random(); for (var i = 0; i < 300; i++) { var sleepTime = random.Next(1, 100); var message = BitConverter.GetBytes(sleepTime); sender.Send(message); Thread.Sleep(3000); } } }
public void PositionWindow(Demo3Input input) { Console.SetWindowSize(45, 15); Console.SetBufferSize(45, 15); int workerNumber = int.Parse(input.WorkerNumberFlag); ConsoleApp.MoveWindow(400 + (100 * (workerNumber - 1)), 100 + (75 * (workerNumber - 1))); }
public void PositionWindow(Demo3Input input) { Console.SetWindowSize(45, 15); Console.SetBufferSize(45, 15); var workerNumber = int.Parse(input.WorkerNumberFlag); ConsoleApp.MoveWindow(400 + (100 * (workerNumber - 1)), 100 + (75 * (workerNumber - 1))); }
public void Execute(Demo3Input input) { using (var context = new Context()) using (var consumer = context.Pull()) using (var reporter = context.Push()) { consumer.Connect("tcp://localhost:5557"); reporter.Connect("tcp://localhost:5558"); Console.WriteLine($"Worker {input.WorkerNumberFlag} started"); DoWork(consumer, reporter, input.WorkerNumberFlag); } }
public void Execute(Demo3Input input) { using (var context = new Context()) using (var consumer = context.Pull()) using (var reporter = context.Push()) { consumer.Connect("tcp://localhost:5557"); reporter.Connect("tcp://localhost:5558"); DoWork(consumer, reporter, input.WorkerNumberFlag); } }
public void Execute(Demo3Input input) { using (var context = new Context()) using (var receiver = context.Pull()) { receiver.Bind("tcp://*:5558"); // Assume we are waiting for 300 workitems var message = receiver.Recv(); var stopwatch = Stopwatch.StartNew(); for (var i = 0; i < 300; i++) { var workerId = Encoding.Unicode.GetString(message); Console.WriteLine("Worker {0} has finished a workitem", workerId); message = receiver.Recv(); } stopwatch.Stop(); Console.WriteLine("Total elapsed time: {0} ms", stopwatch.ElapsedMilliseconds); } }
public void Execute(Demo3Input input) { using (var context = new Context()) using (var receiver = context.Pull()) { receiver.Bind("tcp://*:5558"); // Assume we are waiting for 300 workitems var message = receiver.Recv(); var stopwatch = Stopwatch.StartNew(); for (int i = 0; i < 300; i++) { var workerId = Encoding.Unicode.GetString(message); Console.WriteLine("Worker {0} has finished a workitem", workerId); message = receiver.Recv(); } stopwatch.Stop(); Console.WriteLine("Total elapsed time: {0} ms", stopwatch.ElapsedMilliseconds); } }
public void Execute(Demo3Input input) { using (var context = new Context()) using (var sender = context.Push()) { sender.Bind("tcp://*:5557"); Console.Write("Press enter when the workers are ready: "); Console.ReadKey(); Console.WriteLine(); Console.WriteLine("Sending tasks to workers..."); // Signal the start of the batch sender.Send(BitConverter.GetBytes(0)); var random = new Random(); for (int i = 0; i < 300; i++) { int sleepTime = random.Next(1, 100); var message = BitConverter.GetBytes(sleepTime); sender.Send(message); } } }
public void PositionWindow(Demo3Input input) { Console.SetWindowSize(45, 10); Console.SetBufferSize(45, 10); ConsoleApp.MoveWindow(25, 100); }