about summary refs log tree commit diff
path: root/src/payload-processor/processor
diff options
context:
space:
mode:
authorBaitinq <[email protected]>2024-05-02 17:35:56 +0200
committerBaitinq <[email protected]>2024-05-02 17:45:48 +0200
commite8c75ec9678459f2a938a4471729526c4d73808c (patch)
treef33a8b9c6dcaf0042d457535bd6ffa14671b4cda /src/payload-processor/processor
parentFix gazelle warning (diff)
downloadfs-tracer-backend-e8c75ec9678459f2a938a4471729526c4d73808c.tar.gz
fs-tracer-backend-e8c75ec9678459f2a938a4471729526c4d73808c.tar.bz2
fs-tracer-backend-e8c75ec9678459f2a938a4471729526c4d73808c.zip
payload-processor: add stub
Diffstat (limited to 'src/payload-processor/processor')
-rw-r--r--src/payload-processor/processor/BUILD.bazel9
-rw-r--r--src/payload-processor/processor/processor.go39
2 files changed, 48 insertions, 0 deletions
diff --git a/src/payload-processor/processor/BUILD.bazel b/src/payload-processor/processor/BUILD.bazel
new file mode 100644
index 0000000..64e3ac2
--- /dev/null
+++ b/src/payload-processor/processor/BUILD.bazel
@@ -0,0 +1,9 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "processor",
+    srcs = ["processor.go"],
+    importpath = "github.com/Baitinq/fs-tracer-backend/src/payload-processor/processor",
+    visibility = ["//visibility:public"],
+    deps = ["@com_github_rabbitmq_amqp091_go//:amqp091-go"],
+)
diff --git a/src/payload-processor/processor/processor.go b/src/payload-processor/processor/processor.go
new file mode 100644
index 0000000..9cd83f9
--- /dev/null
+++ b/src/payload-processor/processor/processor.go
@@ -0,0 +1,39 @@
+package processor
+
+import (
+	"log"
+
+	amqp "github.com/rabbitmq/amqp091-go"
+)
+
+type Processor struct {
+	ch        *amqp.Channel
+	queueName string
+}
+
+func NewProcessor(ch *amqp.Channel, queueName string) *Processor {
+	log.Println("Created processor")
+	return &Processor{
+		ch:        ch,
+		queueName: queueName,
+	}
+}
+
+func (p *Processor) ProcessMessages() {
+	msgs, err := p.ch.Consume(
+		p.queueName, // queue
+		"",          // consumer
+		true,        // auto-ack
+		false,       // exclusive
+		false,       // no-local
+		false,       // no-wait
+		nil,         // args
+	)
+	if err != nil {
+		log.Fatal("Failed to register a consumer:", err)
+	}
+
+	for msg := range msgs {
+		log.Printf("Received a message: %s", msg.Body)
+	}
+}