mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 20:27:32 +00:00

# Which Problems Are Solved The recently introduced notification queue have potential race conditions. # How the Problems Are Solved Current code is refactored to use the queue package, which is safe in regards of concurrency. # Additional Changes - the queue is included in startup - improved code quality of queue # Additional Context - closes https://github.com/zitadel/zitadel/issues/9278
25 lines
719 B
Go
25 lines
719 B
Go
package instrumenting
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/zitadel/logging"
|
|
|
|
"github.com/zitadel/zitadel/internal/api/authz"
|
|
"github.com/zitadel/zitadel/internal/notification/channels"
|
|
)
|
|
|
|
func logMessages(ctx context.Context, channel channels.NotificationChannel) channels.NotificationChannel {
|
|
return channels.HandleMessageFunc(func(message channels.Message) error {
|
|
logEntry := logging.WithFields(
|
|
"instance", authz.GetInstance(ctx).InstanceID(),
|
|
"triggering_event_type", message.GetTriggeringEventType(),
|
|
)
|
|
logEntry.Debug("sending notification")
|
|
err := channel.HandleMessage(message)
|
|
logEntry.OnError(err).Warn("sending notification failed")
|
|
logEntry.Debug("notification sent")
|
|
return err
|
|
})
|
|
}
|