Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@StarpTech
Last active January 5, 2020 13:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save StarpTech/c0fb1b7e67bf90eea034ef9fa9dcc90b to your computer and use it in GitHub Desktop.
Save StarpTech/c0fb1b7e67bf90eea034ef9fa9dcc90b to your computer and use it in GitHub Desktop.
Proxy events to stream processors
sub, err := sc.Subscribe("eventstore.events", func(m *stan.Msg) {
// TODO check if event was already processed
stan.PublishAsync("eventstore.events.order-projection", m.Data)
stan.PublishAsync("eventstore.events.order-reactor", m.Data)
// TODO track event as processed
// ack message
if err := m.Ack(); err != nil {
log.WithFields(eventLogFields).WithFields(r.baseLogFields).WithError(err).Error("ack event")
}
},
stan.maxInFlight(1),
stan.AckWait("30s"),
stan.SetManualAckMode(),
stan.DurableName(durableName),
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment