mirror of
https://github.com/fhmq/hmq.git
synced 2026-04-22 01:38:35 +00:00
38 lines
710 B
Go
38 lines
710 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"os/signal"
|
|
|
|
"github.com/fhmq/hmq/broker"
|
|
"github.com/fhmq/hmq/logger"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
var log = logger.Get()
|
|
|
|
func main() {
|
|
config, err := broker.ConfigureConfig(os.Args[1:])
|
|
if err != nil {
|
|
log.Fatal("configure broker config error", zap.Error(err))
|
|
}
|
|
|
|
b, err := broker.NewBroker(config)
|
|
if err != nil {
|
|
log.Fatal("New Broker error: ", zap.Error(err))
|
|
}
|
|
b.Start()
|
|
|
|
s := waitForSignal()
|
|
log.Info("signal received, broker closed.", zap.Any("signal", s))
|
|
}
|
|
|
|
func waitForSignal() os.Signal {
|
|
signalChan := make(chan os.Signal, 1)
|
|
defer close(signalChan)
|
|
signal.Notify(signalChan, os.Kill, os.Interrupt)
|
|
s := <-signalChan
|
|
signal.Stop(signalChan)
|
|
return s
|
|
}
|