instead of ack+message-id just -ack message-id

master
Bel LaPointe 2023-02-06 08:10:29 -07:00
parent 839289ea81
commit 4beaa4c387
1 changed files with 11 additions and 16 deletions

11
main.go
View File

@ -30,8 +30,7 @@ type Config struct {
Topic string Topic string
Message string Message string
REMSWrap bool REMSWrap bool
MessageID string Ack string
Ack bool
Pub bool Pub bool
} }
@ -84,9 +83,8 @@ func getConfig() (Config, error) {
flag.StringVar(&c.AWSR, "awsr", "eu-central-1", "aws region") flag.StringVar(&c.AWSR, "awsr", "eu-central-1", "aws region")
flag.StringVar(&c.Topic, "topic", "rems-queue-prod-fra1-priority-low", "sns topic/sqs queue") flag.StringVar(&c.Topic, "topic", "rems-queue-prod-fra1-priority-low", "sns topic/sqs queue")
flag.StringVar(&c.Message, "message", `{"messageType": "NoOpMessage"}`, "published message") flag.StringVar(&c.Message, "message", `{"messageType": "NoOpMessage"}`, "published message")
flag.StringVar(&c.MessageID, "message-id", "", "sqs message id to ack") flag.StringVar(&c.Ack, "ack", "", "sqs message id to ack")
flag.BoolVar(&c.REMSWrap, "rems-wrap", true, "rems wrap message") flag.BoolVar(&c.REMSWrap, "rems-wrap", true, "rems wrap message")
flag.BoolVar(&c.Ack, "ack", true, "ack message matching message-id")
flag.BoolVar(&c.Pub, "pub", false, "publish message") flag.BoolVar(&c.Pub, "pub", false, "publish message")
flag.Parse() flag.Parse()
@ -148,7 +146,7 @@ func (c Config) Consume(ctx context.Context) error {
wrap.Unwrap([]byte(*message.Body), &v, isoc{}) wrap.Unwrap([]byte(*message.Body), &v, isoc{})
} }
log.Printf("message in queue: %s: %s: %+v", *message.MessageId, *message.Body, v) log.Printf("message in queue: %s: %s: %+v", *message.MessageId, *message.Body, v)
if *message.MessageId != c.MessageID { if *message.MessageId != c.Ack {
if err := c.unack(ctx, message); err != nil { if err := c.unack(ctx, message); err != nil {
return err return err
} }
@ -175,9 +173,6 @@ func (c Config) unack(ctx context.Context, message *sqs.Message) error {
} }
func (c Config) ack(ctx context.Context, message *sqs.Message) error { func (c Config) ack(ctx context.Context, message *sqs.Message) error {
if !c.Ack {
return c.unack(ctx, message)
}
client := sqs.New(session.Must(session.NewSession()), c.awsc()) client := sqs.New(session.Must(session.NewSession()), c.awsc())
if _, err := client.DeleteMessageWithContext(ctx, &sqs.DeleteMessageInput{ if _, err := client.DeleteMessageWithContext(ctx, &sqs.DeleteMessageInput{
QueueUrl: aws.String(c.sqsurl()), QueueUrl: aws.String(c.sqsurl()),