From 1fe5f8d2d4a3c83b0cf6fbdd51175fc14a303e33 Mon Sep 17 00:00:00 2001
From: Jonas Leder <jonas@jonasled.de>
Date: Sun, 26 Jan 2025 13:17:00 +0100
Subject: [PATCH] initialize dummy worker for processing tasks

---
 main.go               |  4 +++-
 messageworker/main.go | 18 ++++++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 messageworker/main.go

diff --git a/main.go b/main.go
index edee1a5..a746003 100644
--- a/main.go
+++ b/main.go
@@ -6,6 +6,7 @@ import (
 
 	_ "github.com/joho/godotenv/autoload"
 	"jonasled.dev/jonasled/ems-esp-logger/log"
+	"jonasled.dev/jonasled/ems-esp-logger/messageworker"
 	"jonasled.dev/jonasled/ems-esp-logger/mqttclient"
 	"jonasled.dev/jonasled/ems-esp-logger/mqttserver"
 	"jonasled.dev/jonasled/ems-esp-logger/zeromq"
@@ -21,8 +22,9 @@ func main() {
 		mqttserver.Start()
 	}
 	mqttclient.Init()
+	go messageworker.Run()
 	for {
-		time.Sleep(time.Second)
+		time.Sleep(time.Second) // reduce CPU usage by adding a short sleep here instead of a empty for loop
 	}
 
 }
diff --git a/messageworker/main.go b/messageworker/main.go
new file mode 100644
index 0000000..44334de
--- /dev/null
+++ b/messageworker/main.go
@@ -0,0 +1,18 @@
+package messageworker
+
+import (
+	"fmt"
+	"os"
+
+	zmq "github.com/pebbe/zmq4"
+)
+
+func Run() {
+	worker, _ := zmq.NewSocket(zmq.PULL)
+	defer worker.Close()
+	worker.Connect(os.Getenv("ZEROMQ_WORKER"))
+	for {
+		task, _ := worker.Recv(0)
+		fmt.Println("Processing:", task)
+	}
+}
-- 
GitLab