parent
e21b836455
commit
27bf188149
|
@ -33,7 +33,8 @@ func NewEventSqs(consumer *sqs_client.Consumer, converter ConverterFunc, logger
|
|||
consumer: consumer,
|
||||
converter: converter,
|
||||
chSize: 10,
|
||||
logger: logger}
|
||||
logger: logger.With(zap.String("queueUrl", consumer.GetQueueUrl())),
|
||||
}
|
||||
for _, opt := range opts {
|
||||
opt(s)
|
||||
}
|
||||
|
@ -57,6 +58,7 @@ func (q *SQS) Consume(ctx context.Context) <-chan ConsumerMessage {
|
|||
q.logger.Error("Error getting messages from SQS", zap.Error(err))
|
||||
continue
|
||||
}
|
||||
q.logger.Debug("Received messages from SQS", zap.Int("count", len(messages)))
|
||||
expiredAt := time.Now().Add(q.consumer.GetVisibilityTimeout())
|
||||
for _, msg := range messages {
|
||||
// unmarshal body to sqsEvent
|
||||
|
@ -64,17 +66,27 @@ func (q *SQS) Consume(ctx context.Context) <-chan ConsumerMessage {
|
|||
err := json.Unmarshal([]byte(*msg.Body), &sqsEvent)
|
||||
if err != nil {
|
||||
q.logger.Error("Error decoding message from SQS", zap.Error(err))
|
||||
if err = q.consumer.DeleteMessage(ctx, msg.ReceiptHandle); err != nil {
|
||||
q.logger.Error("Error deleting message from SQS", zap.Error(err))
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
// converts message to event
|
||||
event, err := q.converter(sqsEvent.Message)
|
||||
if err != nil {
|
||||
q.logger.Error("Error converting event message from SQSEvent", zap.Error(err))
|
||||
q.logger.Error("Error converting event message", zap.Error(err))
|
||||
if err = q.consumer.DeleteMessage(ctx, msg.ReceiptHandle); err != nil {
|
||||
q.logger.Error("Error deleting message from SQS", zap.Error(err))
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
if event == nil {
|
||||
q.logger.Warn("Can not handle message", zap.String("body", *msg.Body))
|
||||
if err = q.consumer.DeleteMessage(ctx, msg.ReceiptHandle); err != nil {
|
||||
q.logger.Error("Error deleting message from SQS", zap.Error(err))
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
|
|
|
@ -108,3 +108,8 @@ func (c *Consumer) GetQueueAttributes(ctx context.Context) (*aws_sqs.GetQueueAtt
|
|||
}
|
||||
return c.api.GetQueueAttributes(ctx, params)
|
||||
}
|
||||
|
||||
// GetQueueUrl returns queue url.
|
||||
func (c *Consumer) GetQueueUrl() string {
|
||||
return c.url
|
||||
}
|
||||
|
|
|
@ -108,3 +108,8 @@ func (c *Consumer) GetQueueAttributes(ctx context.Context) (*aws_sqs.GetQueueAtt
|
|||
}
|
||||
return c.api.GetQueueAttributes(ctx, params)
|
||||
}
|
||||
|
||||
// GetQueueUrl returns queue url.
|
||||
func (c *Consumer) GetQueueUrl() string {
|
||||
return c.url
|
||||
}
|
||||
|
|
|
@ -40,7 +40,8 @@ func NewEventSQS(consumer *sqs.Consumer, converter ConverterFunc, filterConsume
|
|||
converter: converter,
|
||||
filterConsume: filterConsume,
|
||||
metrics: metrics,
|
||||
logger: logger}
|
||||
logger: logger.With(zap.String("queueUrl", consumer.GetQueueUrl())),
|
||||
}
|
||||
for _, opt := range opts {
|
||||
opt(s)
|
||||
}
|
||||
|
@ -64,6 +65,7 @@ func (q *SQS) Consume(ctx context.Context) <-chan ConsumerMessage {
|
|||
q.logger.Error("Error getting messages from SQS", zap.Error(err))
|
||||
continue
|
||||
}
|
||||
q.logger.Debug("Received messages from SQS", zap.Int("count", len(messages)))
|
||||
expiredAt := time.Now().Add(q.consumer.GetVisibilityTimeout())
|
||||
for _, msg := range messages {
|
||||
|
||||
|
@ -72,17 +74,27 @@ func (q *SQS) Consume(ctx context.Context) <-chan ConsumerMessage {
|
|||
err := json.Unmarshal([]byte(*msg.Body), &sqsEvent)
|
||||
if err != nil {
|
||||
q.logger.Error("Error decoding message from SQS", zap.Error(err))
|
||||
if err = q.consumer.DeleteMessage(ctx, msg.ReceiptHandle); err != nil {
|
||||
q.logger.Error("Error deleting message from SQS", zap.Error(err))
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
// unmarshal message to event
|
||||
event, err := q.converter(sqsEvent.Message)
|
||||
if err != nil {
|
||||
q.logger.Error("Error decoding event message from SQSEvent", zap.Error(err))
|
||||
q.logger.Error("Error converting event message", zap.Error(err))
|
||||
if err = q.consumer.DeleteMessage(ctx, msg.ReceiptHandle); err != nil {
|
||||
q.logger.Error("Error deleting message from SQS", zap.Error(err))
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
if event == nil {
|
||||
q.logger.Warn("Can not handle message", zap.String("body", *msg.Body))
|
||||
if err = q.consumer.DeleteMessage(ctx, msg.ReceiptHandle); err != nil {
|
||||
q.logger.Error("Error deleting message from SQS", zap.Error(err))
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
|
|
|
@ -117,7 +117,7 @@ func (c *Consumer) processSourceTx(ctx context.Context, msg queue.ConsumerMessag
|
|||
)
|
||||
} else if errors.Is(err, ErrAlreadyProcessed) {
|
||||
msg.Done()
|
||||
c.logger.Warn("Message already processed - skipping",
|
||||
c.logger.Warn("Origin message already processed - skipping",
|
||||
zap.String("trackId", event.TrackID),
|
||||
zap.String("vaaId", event.ID),
|
||||
elapsedLog,
|
||||
|
|
|
@ -121,7 +121,7 @@ func NewNotificationEvent(log *zap.Logger) ConverterFunc {
|
|||
}
|
||||
address, err := sdk.StringToAddress(tr.Attributes.EmitterAddress)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error converting emitter address: %w", err)
|
||||
return nil, fmt.Errorf("error converting emitter address [%s]: %w", tr.Attributes.EmitterAddress, err)
|
||||
}
|
||||
vaa := sdk.VAA{
|
||||
EmitterChain: sdk.ChainID(tr.Attributes.EmitterChain),
|
||||
|
|
|
@ -39,7 +39,8 @@ func NewEventSqs(consumer *sqs_client.Consumer, converter ConverterFunc, metrics
|
|||
chSize: 10,
|
||||
metrics: metrics,
|
||||
converter: converter,
|
||||
logger: logger}
|
||||
logger: logger.With(zap.String("queueUrl", consumer.GetQueueUrl())),
|
||||
}
|
||||
for _, opt := range opts {
|
||||
opt(s)
|
||||
}
|
||||
|
@ -63,6 +64,7 @@ func (q *SQS) Consume(ctx context.Context) <-chan ConsumerMessage {
|
|||
q.logger.Error("Error getting messages from SQS", zap.Error(err))
|
||||
continue
|
||||
}
|
||||
q.logger.Debug("Received messages from SQS", zap.Int("count", len(messages)))
|
||||
expiredAt := time.Now().Add(q.consumer.GetVisibilityTimeout())
|
||||
for _, msg := range messages {
|
||||
// unmarshal body to sqsEvent
|
||||
|
@ -70,16 +72,26 @@ func (q *SQS) Consume(ctx context.Context) <-chan ConsumerMessage {
|
|||
err := json.Unmarshal([]byte(*msg.Body), &sqsEvent)
|
||||
if err != nil {
|
||||
q.logger.Error("Error decoding message from SQS", zap.Error(err))
|
||||
if err = q.consumer.DeleteMessage(ctx, msg.ReceiptHandle); err != nil {
|
||||
q.logger.Error("Error deleting message from SQS", zap.Error(err))
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
// unmarshal message to event
|
||||
event, err := q.converter(sqsEvent.Message)
|
||||
if err != nil {
|
||||
q.logger.Error("Error decoding vaaEvent message from SQSEvent", zap.Error(err))
|
||||
q.logger.Error("Error converting event message", zap.Error(err))
|
||||
if err = q.consumer.DeleteMessage(ctx, msg.ReceiptHandle); err != nil {
|
||||
q.logger.Error("Error deleting message from SQS", zap.Error(err))
|
||||
}
|
||||
continue
|
||||
}
|
||||
if event == nil {
|
||||
q.logger.Warn("Can not handle message", zap.String("body", *msg.Body))
|
||||
if err = q.consumer.DeleteMessage(ctx, msg.ReceiptHandle); err != nil {
|
||||
q.logger.Error("Error deleting message from SQS", zap.Error(err))
|
||||
}
|
||||
continue
|
||||
}
|
||||
q.metrics.IncVaaConsumedQueue(uint16(event.ChainID))
|
||||
|
|
Loading…
Reference in New Issue