Я пытаюсь получить сообщения от pubsub, но сейчас я немного потерян.Я хочу отделить обработчик сообщений от фактического "сборщика".В общем, я хочу сделать это:
sub := pubsubClient.Subscription("bla")
err := sub.Receive(context.Background(), handleMessage)
func handleMessage(ctx context.Context, msg *pubsub.Message) {
fmt.Println(msg)
}
К сожалению, это не работает.Я получаю следующую ошибку: Cannot use handleMessage (type func(ctx context.Context, msg *pubsub.Message) error as type func(context.Context, *Message)
.
Я могу решить эту проблему следующим образом:
err := sub.Receive(context.Background(), func(ctx context.Context, msg *pubsub.Message) {
if err := handleMessage(msg); err != nil { // individual message processing went wrong
msg.Nack()
return
}
msg.Ack()
})
Но я предпочитаю отделить фактическую функцию-обработчик.Любая помощь приветствуется.