main.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package main
  2. import (
  3. hconsole "git.swzry.com/zry/GoHiedaLogger/hiedabke_console"
  4. "git.swzry.com/zry/GoHiedaLogger/hiedalog"
  5. lazyquiter "git.swzry.com/zry/go-lazy-quiter"
  6. rpcore "git.swzry.com/zry/ran-proc/rpcore"
  7. wslogdist "git.swzry.com/zry/ran-proc/wslogdist"
  8. "github.com/hashicorp/go-uuid"
  9. "github.com/oklog/run"
  10. "os"
  11. )
  12. var Logger *hiedalog.HiedaLogger
  13. var PM *rpcore.ChildProcManager
  14. var WebServer *WebServerClass
  15. var AccessKey string
  16. var WsLogDistr *wslogdist.WsLogDistributor
  17. var LazyQuiter *lazyquiter.RunGroupQuiter
  18. var GracefulShutdownActorForThis rpcore.GracefulShutdownActor
  19. func main() {
  20. Logger = hiedalog.NewHiedaLogger()
  21. Logger.AddBackend(hconsole.NewConsoleBackend(os.Stdout), Logger.LevelFilter.NameToID(hiedalog.DLN_DEBUG))
  22. AccessKey, _ = uuid.GenerateUUID()
  23. Logger.LogPrint("key", hiedalog.DLN_INFO, "Access Key:", AccessKey)
  24. LazyQuiter = lazyquiter.NewRunGroupQuiter()
  25. LazyQuiter.SignalNotifyFunc = func(sig os.Signal) {
  26. Logger.LogPrint("main", hiedalog.DLN_INFO, "Quit by user abort.")
  27. }
  28. GracefulShutdownActorForThis = &rpcore.UnixSignalShutdownActor{}
  29. PM = rpcore.NewChildProcManager(&rpcore.DefaultChildProcManagerMsgHandler{
  30. Logger: Logger,
  31. LogModuleName: "pm",
  32. })
  33. WsLogDistr = wslogdist.NewWsLogDistributor(1024)
  34. WebServer = NewWebServer()
  35. rg := &run.Group{}
  36. rg.Add(PMRun, PMStop)
  37. rg.Add(WebServer.Run, WebServer.Stop)
  38. rg.Add(LazyQuiter.Run, LazyQuiter.Stop)
  39. err := rg.Run()
  40. if err != nil {
  41. Logger.LogPrint("main", hiedalog.DLN_FATAL, "error in running:", err)
  42. }
  43. os.Exit(0)
  44. }