func createSubscriber( logger lager.Logger, c *config.Config, natsClient *nats.Conn, registry rregistry.RegistryInterface, startMsgChan chan struct{}, ) ifrit.Runner { guid, err := uuid.GenerateUUID() if err != nil { logger.Fatal("failed-to-generate-uuid", err) } opts := &mbus.SubscriberOpts{ ID: fmt.Sprintf("%d-%s", c.Index, guid), MinimumRegisterIntervalInSeconds: int(c.StartResponseDelayInterval.Seconds()), PruneThresholdInSeconds: int(c.DropletStaleThreshold.Seconds()), } return mbus.NewSubscriber(logger.Session("subscriber"), natsClient, registry, startMsgChan, opts) }
natsRunner.Start() natsClient = natsRunner.MessageBus registry = new(fakes.FakeRegistryInterface) logger = lagertest.NewTestLogger("mbus-test") startMsgChan = make(chan struct{}) subOpts = &mbus.SubscriberOpts{ ID: "Fake-Subscriber-ID", MinimumRegisterIntervalInSeconds: 60, PruneThresholdInSeconds: 120, } sub = mbus.NewSubscriber(logger, natsClient, registry, startMsgChan, subOpts) }) AfterEach(func() { if natsRunner != nil { natsRunner.Stop() } if process != nil { process.Signal(os.Interrupt) } process = nil }) It("exits when signaled", func() { process = ifrit.Invoke(sub) Eventually(process.Ready()).Should(BeClosed())
Reporter: varz, AccessLogger: &access_log.NullAccessLogger{}, HealthCheckUserAgent: "HTTP-Monitor/1.1", HeartbeatOK: &healthCheck, }) errChan := make(chan error, 2) rtr, err = router.NewRouter(logger, config, p, mbusClient, registry, varz, &healthCheck, logcounter, errChan) Expect(err).ToNot(HaveOccurred()) opts := &mbus.SubscriberOpts{ ID: "test", MinimumRegisterIntervalInSeconds: int(config.StartResponseDelayInterval.Seconds()), PruneThresholdInSeconds: int(config.DropletStaleThreshold.Seconds()), } subscriber = ifrit.Background(mbus.NewSubscriber(logger.Session("subscriber"), mbusClient, registry, nil, opts)) <-subscriber.Ready() }) AfterEach(func() { if natsRunner != nil { natsRunner.Stop() } if subscriber != nil { subscriber.Signal(os.Interrupt) <-subscriber.Wait() } }) Context("Drain", func() { BeforeEach(func() {
AccessLogger: &access_log.NullAccessLogger{}, HealthCheckUserAgent: "HTTP-Monitor/1.1", }) var healthCheck int32 healthCheck = 0 logcounter := schema.NewLogCounter() router, err = NewRouter(logger, config, proxy, mbusClient, registry, varz, &healthCheck, logcounter, nil) Expect(err).ToNot(HaveOccurred()) opts := &mbus.SubscriberOpts{ ID: "test", MinimumRegisterIntervalInSeconds: int(config.StartResponseDelayInterval.Seconds()), PruneThresholdInSeconds: int(config.DropletStaleThreshold.Seconds()), } subscriber := mbus.NewSubscriber(logger.Session("subscriber"), mbusClient, registry, nil, opts) members := grouper.Members{ {Name: "subscriber", Runner: subscriber}, {Name: "router", Runner: router}, } group := grouper.NewOrdered(os.Interrupt, members) monitor := ifrit.Invoke(sigmon.New(group, syscall.SIGTERM, syscall.SIGINT, syscall.SIGUSR1)) <-monitor.Ready() }) AfterEach(func() { if natsRunner != nil { natsRunner.Stop() }