Documentation
¶
Index ¶
- type NoticeConsumer
- func (co *NoticeConsumer) CancelMessages(ctx context.Context, messages []any) error
- func (co *NoticeConsumer) Close() error
- func (co *NoticeConsumer) CommitMessage(ctx context.Context, message any, preCommit func(ctx context.Context) error) error
- func (co *NoticeConsumer) ReadMessages(ctx context.Context, limit uint32) ([]any, error)
- func (co *NoticeConsumer) RejectMessage(ctx context.Context, message any, causeErr error) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type NoticeConsumer ¶
type NoticeConsumer struct {
// contains filtered or unexported fields
}
NoticeConsumer - консьюмер для сборки уведомлений в готовые сообщения и передачи по цепочке дальше для отправки получателю.
func New ¶
func New( txManager mrstorage.DBTxManager, storage mrnotifier.NoticeStorage, useCaseQueue mrqueue.Consumer, errorWrapper mrcore.UseCaseErrorWrapper, ) *NoticeConsumer
New - создаёт объект NoticeConsumer.
func (*NoticeConsumer) CancelMessages ¶
func (co *NoticeConsumer) CancelMessages(ctx context.Context, messages []any) error
CancelMessages - отменяет обработку уведомлений, которые были ранее считаны методом ReadMessages.
func (*NoticeConsumer) Close ¶
func (co *NoticeConsumer) Close() error
Close - закрывает соединение консьюмера с источником данных.
func (*NoticeConsumer) CommitMessage ¶
func (co *NoticeConsumer) CommitMessage(ctx context.Context, message any, preCommit func(ctx context.Context) error) error
CommitMessage - закрепляет результат обработки уведомления, которое было ранее считано методом ReadMessages. Внешняя функция preCommit работает вместе с фиксацией результата в рамках одной транзакции. При работе в рамках одной БД это позволяет коммитить изменения атомарно.
func (*NoticeConsumer) ReadMessages ¶
ReadMessages - возвращает указанную порцию уведомлений для их обработки.
func (*NoticeConsumer) RejectMessage ¶
RejectMessage - отклоняет результат обработки уведомления, если в процессе возникла ошибка.