Improve shutdown of MQ
This commit is contained in:
parent
7a1ff7241f
commit
dc24d1da7a
@ -2,6 +2,7 @@ package bchain
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
zmq "github.com/pebbe/zmq4"
|
zmq "github.com/pebbe/zmq4"
|
||||||
@ -60,12 +61,13 @@ func (mq *MQ) run(callback func(*MQMessage)) {
|
|||||||
for {
|
for {
|
||||||
msg, err := mq.socket.RecvMessageBytes(0)
|
msg, err := mq.socket.RecvMessageBytes(0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if zmq.AsErrno(err) == zmq.Errno(zmq.ETERM) {
|
if zmq.AsErrno(err) == zmq.Errno(zmq.ETERM) || err.Error() == "Socket is closed" {
|
||||||
close(mq.finished)
|
close(mq.finished)
|
||||||
glog.Info("MQ loop terminated")
|
glog.Info("MQ loop terminated")
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
glog.Error("MQ RecvMessageBytes error ", err)
|
glog.Error("MQ RecvMessageBytes error ", err, ", ", zmq.AsErrno(err))
|
||||||
|
time.Sleep(100 * time.Millisecond)
|
||||||
}
|
}
|
||||||
if msg != nil && len(msg) >= 3 {
|
if msg != nil && len(msg) >= 3 {
|
||||||
sequence := uint32(0)
|
sequence := uint32(0)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user