From 6d3b7b2bee6fc8a96b678d30a55ea91a6da69289 Mon Sep 17 00:00:00 2001 From: Eric Wollesen Date: Wed, 27 Mar 2024 09:50:48 -0600 Subject: [PATCH] rename EventConsumer => StartStopper This more accurately defines how the interface is used. That is, the consumers of this interface are only interested in its lifecycle functionality, that is, Start and Stop. The fact that the implementations happen to be event consumers, is not in any way important to the consumers themselves. This change will require changes to the consumers however, which includes (at least) clinic-worker, platform, hydrophone, and marketo-service. The changes required are just function argument renaming though, so very straightforward, and could be done the next time they upgrade their go-common versions. --- events/consumer.go | 6 ++++-- events/consumer_group.go | 2 +- events/fault_tolerant_consumer.go | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/events/consumer.go b/events/consumer.go index e086ff7c..888747a5 100644 --- a/events/consumer.go +++ b/events/consumer.go @@ -2,14 +2,16 @@ package events import ( "context" + "log" + "github.com/Shopify/sarama" "github.com/cloudevents/sdk-go/protocol/kafka_sarama/v2" cloudevents "github.com/cloudevents/sdk-go/v2" "github.com/cloudevents/sdk-go/v2/binding" - "log" ) -type EventConsumer interface { +// StartStopper provides lifecycle hooks for long-running service tasks. +type StartStopper interface { Start() error Stop() error } diff --git a/events/consumer_group.go b/events/consumer_group.go index d68f4c1a..59dda5ce 100644 --- a/events/consumer_group.go +++ b/events/consumer_group.go @@ -23,7 +23,7 @@ type SaramaEventConsumer struct { cancelFunc context.CancelFunc } -func NewSaramaConsumerGroup(config *CloudEventsConfig, consumer MessageConsumer) (EventConsumer, error) { +func NewSaramaConsumerGroup(config *CloudEventsConfig, consumer MessageConsumer) (*SaramaEventConsumer, error) { if err := validateConsumerConfig(config); err != nil { return nil, err } diff --git a/events/fault_tolerant_consumer.go b/events/fault_tolerant_consumer.go index 5a7bf553..0211f711 100644 --- a/events/fault_tolerant_consumer.go +++ b/events/fault_tolerant_consumer.go @@ -19,14 +19,14 @@ type FaultTolerantConsumerGroup struct { config *CloudEventsConfig createConsumer ConsumerFactory m sync.Mutex - delegate EventConsumer + delegate StartStopper isShuttingDown bool attempts uint delay time.Duration delayType retry.DelayTypeFunc } -var _ EventConsumer = &FaultTolerantConsumerGroup{} +var _ StartStopper = &FaultTolerantConsumerGroup{} func NewFaultTolerantConsumerGroup(config *CloudEventsConfig, createConsumer ConsumerFactory) (*FaultTolerantConsumerGroup, error) { return &FaultTolerantConsumerGroup{