summaryrefslogtreecommitdiff
path: root/resources/mq/client/message_queue.go
diff options
context:
space:
mode:
authorhorus_arch2016-12-13 19:25:18 +0100
committerhorus_arch2016-12-13 19:25:18 +0100
commit7f0dff0d613a01e3c88690586e9ba9df672efb04 (patch)
tree6be203208432ab451a40989cb24f6c66d6936440 /resources/mq/client/message_queue.go
parentdf8b3e88c82f0a108a524a4c52eaad6dcb2fbb91 (diff)
downloadgospeladlershof.de-7f0dff0d613a01e3c88690586e9ba9df672efb04.tar.gz
Die Seite wird jetzt in einer VM gebaut. Zum veröffentlichen ist jetzt eine MQ vonnöten.
Diffstat (limited to 'resources/mq/client/message_queue.go')
-rw-r--r--resources/mq/client/message_queue.go68
1 files changed, 68 insertions, 0 deletions
diff --git a/resources/mq/client/message_queue.go b/resources/mq/client/message_queue.go
new file mode 100644
index 0000000..ee662b1
--- /dev/null
+++ b/resources/mq/client/message_queue.go
@@ -0,0 +1,68 @@
+package main
+
+import (
+ "encoding/json"
+ "time"
+
+ log "github.com/Sirupsen/logrus"
+ "github.com/kr/beanstalk"
+)
+
+// beanstalkd, the message queue
+type Queue struct {
+ Conn *beanstalk.Conn
+ Tube *beanstalk.Tube
+}
+
+func (app *Queue) newBeanstalkd() error {
+ //conn, err := beanstalk.Dial("tcp", "192.168.122.1:11300")
+ conn, err := beanstalk.Dial("tcp", "127.0.0.1:11300")
+ if err != nil {
+ return err
+ }
+ app.Conn = conn
+ app.Tube = &beanstalk.Tube{conn, "gospelchor"}
+
+ return nil
+}
+
+func (app *Queue) sendMessage() error {
+
+ msg, err := json.Marshal(true)
+ if err != nil {
+ return err
+ }
+
+ _, err = app.Tube.Put(msg, 1, 1, time.Minute)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func main() {
+ app := Queue{}
+ err := app.newBeanstalkd()
+ if err != nil {
+ log.WithFields(
+ log.Fields{
+ "error": err,
+ },
+ ).Fatal("cannot connect to beanstalkd")
+ }
+
+ // closes the connection to the beanstalkd server on exit
+ defer func() {
+ app.Conn.Close()
+ }()
+
+ if err := app.sendMessage(); err != nil {
+ app.Conn.Close()
+ log.WithFields(
+ log.Fields{
+ "error": err,
+ },
+ ).Fatal("sending message to beanstalkd failed")
+ }
+}