private void Handle(SystemMessage.SystemStart message) { Log.Info("========= SystemStart: SingleVNodeController ========="); _outputBus.Publish(message); _mainQueue.Publish(new SystemMessage.BecomeWorking()); }
private void SpeedTest(Func <IHandle <Message>, IPublisher> queueFactory, int producingThreads, int messageCnt) { var queue = queueFactory(new NoopConsumer()); var threads = new Thread[producingThreads]; int msgCnt = messageCnt; var startEvent = new ManualResetEventSlim(false); var endEvent = new CountdownEvent(producingThreads); var msg = new SystemMessage.SystemStart(); const int batchSize = 100; for (int i = 0; i < producingThreads; ++i) { threads[i] = new Thread(() => { startEvent.Wait(); while (true) { // get a batch to reduce the friction on the msgCnt var prevValue = Interlocked.Add(ref msgCnt, -batchSize) + batchSize; var toDispatch = Math.Min(prevValue, batchSize); if (toDispatch <= 0) { break; } while (toDispatch > 0) { queue.Publish(msg); toDispatch -= 1; } } endEvent.Signal(); }) { IsBackground = true, Name = "Producer #" + i }; threads[i].Start(); } Thread.Sleep(500); var sw = Stopwatch.StartNew(); startEvent.Set(); endEvent.Wait(); sw.Stop(); Console.WriteLine( "Queue: {0},\nProducers: {1},\nTotal messages: {2},\nTotal time: {3},\nTicks per 1000 items: {4}", queue.GetType().Name, producingThreads, messageCnt, sw.Elapsed, sw.Elapsed.Ticks / (messageCnt / 1000)); }
public void Handle(SystemMessage.SystemStart message) { foreach (var queue in _queues) { queue.Publish(new ProjectionMessage.CoreService.Start()); } StartExistingProjections(); }
public void Handle(SystemMessage.SystemStart message) { try { _server.Start(); Log.Info("Started gRpc server to run on host {0} port {1}", _serverPort.Host, _serverPort.Port); } catch (Exception e) { Log.ErrorException(e, "Error starting gRpc server on host {0} port {1}", _serverPort.Host, _serverPort.Port); } }
public void Handle(SystemMessage.SystemStart message) { try { _serverListener.StartListening(OnConnectionAccepted); } catch (Exception e) { Application.Exit(ExitCode.Error, e.Message); } }
private void SpeedTest(Func <IHandle <Message>, IPublisher> queueFactory, int producingThreads, int messageCnt) { var queue = queueFactory(new NoopConsumer()); var threads = new Thread[producingThreads]; int msgCnt = messageCnt; var startEvent = new ManualResetEventSlim(false); var endEvent = new CountdownEvent(producingThreads); var msg = new SystemMessage.SystemStart(); for (int i = 0; i < producingThreads; ++i) { threads[i] = new Thread(() => { startEvent.Wait(); while (Interlocked.Decrement(ref msgCnt) > 0) { queue.Publish(msg); } endEvent.Signal(); }) { IsBackground = true, Name = "Producer #" + i }; threads[i].Start(); } Thread.Sleep(500); var sw = Stopwatch.StartNew(); startEvent.Set(); endEvent.Wait(); sw.Stop(); Console.WriteLine("Queue: {0},\nProducers: {1},\nTotal messages: {2},\nTotal time: {3},\nTicks per 1000 items: {4}", queue.GetType().Name, producingThreads, messageCnt, sw.Elapsed, sw.Elapsed.Ticks / (messageCnt / 1000)); }
public void Handle(SystemMessage.SystemStart message) { }
public void Handle(SystemMessage.SystemStart message) { _systemStarted = true; }
private void Handle(SystemMessage.SystemStart message) { Log.Info("========== [{0}] SYSTEM START...", _nodeInfo.InternalHttp); _outputBus.Publish(message); _fsm.Handle(new SystemMessage.BecomeUnknown(Guid.NewGuid())); }
private void Handle(SystemMessage.SystemStart message) { Log.Info("========== [{0}] SYSTEM START....", _httpEndPoint); _outputBus.Publish(message); _fsm.Handle(new SystemMessage.BecomePreMaster(Guid.NewGuid())); }
public void Handle(SystemMessage.SystemStart message) { _thread.Start(); }
public void Handle(SystemMessage.SystemStart message) { _coreOutput.Publish(new ProjectionMessage.CoreService.Start()); StartExistingProjections(); }