diff --git a/main.go b/main.go index edee1a5f4c6e35acc902ef5afe0da742cac66317..a7460036dc73f96ef6a9712fdb723552e232e265 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 0000000000000000000000000000000000000000..44334de4de516db08c847f755415877dab1f1202 --- /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) + } +}