shared-sqs: Этап 1 — клон GoAWS, удаление SNS, go build OK
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"net/http"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"shared-sqs/app/models"
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
|
||||
"shared-sqs/app/conf"
|
||||
"shared-sqs/app/gosqs"
|
||||
"shared-sqs/app/router"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var filename string
|
||||
var debug bool
|
||||
var loglevel string
|
||||
flag.StringVar(&filename, "config", "", "config file location + name")
|
||||
flag.BoolVar(&debug, "debug", false, "set debug log level")
|
||||
flag.StringVar(&loglevel, "loglevel", "info", "log level (default info)")
|
||||
flag.Parse()
|
||||
|
||||
log.SetFormatter(&log.JSONFormatter{})
|
||||
log.SetOutput(os.Stdout)
|
||||
|
||||
if debug {
|
||||
log.SetLevel(log.DebugLevel)
|
||||
} else {
|
||||
level, err := log.ParseLevel(loglevel)
|
||||
if err != nil {
|
||||
log.SetLevel(log.InfoLevel)
|
||||
log.Warnf("Failed to parse loglevel %v, defaulting to info", loglevel)
|
||||
} else {
|
||||
log.SetLevel(level)
|
||||
}
|
||||
}
|
||||
|
||||
env := "Local"
|
||||
if flag.NArg() > 0 {
|
||||
env = flag.Arg(0)
|
||||
}
|
||||
|
||||
portNumbers := conf.LoadYamlConfig(filename, env)
|
||||
|
||||
if models.CurrentEnvironment.LogToFile {
|
||||
filename := models.CurrentEnvironment.LogFile
|
||||
file, err := os.OpenFile(filename, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
|
||||
if err == nil {
|
||||
log.SetOutput(file)
|
||||
} else {
|
||||
log.Infof("Failed to log to file: %s, using default stderr", filename)
|
||||
}
|
||||
}
|
||||
|
||||
r := router.New()
|
||||
|
||||
quit := make(chan bool, 0)
|
||||
go gosqs.PeriodicTasks(1*time.Second, quit)
|
||||
|
||||
if len(portNumbers) == 1 {
|
||||
log.Warnf("GoAws listening on: 0.0.0.0:%s", portNumbers[0])
|
||||
err := http.ListenAndServe("0.0.0.0:"+portNumbers[0], r)
|
||||
log.Fatal(err)
|
||||
} else if len(portNumbers) == 2 {
|
||||
go func() {
|
||||
log.Warnf("GoAws listening on: 0.0.0.0:%s", portNumbers[0])
|
||||
err := http.ListenAndServe("0.0.0.0:"+portNumbers[0], r)
|
||||
log.Fatal(err)
|
||||
}()
|
||||
log.Warnf("GoAws listening on: 0.0.0.0:%s", portNumbers[1])
|
||||
err := http.ListenAndServe("0.0.0.0:"+portNumbers[1], r)
|
||||
log.Fatal(err)
|
||||
} else {
|
||||
log.Fatal("Not enough or too many ports defined to start GoAws.")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user