diff options
| author | horus_arch | 2016-12-13 19:25:18 +0100 |
|---|---|---|
| committer | horus_arch | 2016-12-13 19:25:18 +0100 |
| commit | 7f0dff0d613a01e3c88690586e9ba9df672efb04 (patch) | |
| tree | 6be203208432ab451a40989cb24f6c66d6936440 /resources/mq/client/message_queue.go | |
| parent | df8b3e88c82f0a108a524a4c52eaad6dcb2fbb91 (diff) | |
| download | gospeladlershof.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.go | 68 |
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") + } +} |
