build.go 949 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // package build -- различные строители
  2. package build
  3. import (
  4. "net/http"
  5. _ "net/http/pprof"
  6. "runtime/debug"
  7. "time"
  8. . "gitp78su.ipnodns.ru/svi/kern"
  9. . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
  10. "wartank/app/lev4/mod_serv"
  11. )
  12. func НовМодСервер() IKernelModule {
  13. конт := GetKernelCtx()
  14. go ЗапуститьПрофиль()
  15. bi, _ := debug.ReadBuildInfo()
  16. лог := NewLogBuf()
  17. лог.Info("ИНФО \tgo = %v\n\tvers = %v\n", bi.GoVersion, bi.Main.Version)
  18. прил := mod_serv.НовМодСервер()
  19. go func() {
  20. time.Sleep(time.Minute * 20)
  21. конт.Cancel()
  22. }()
  23. return прил
  24. }
  25. func ЗапуститьПрофиль() {
  26. лог := NewLogBuf()
  27. port := "29081"
  28. for {
  29. err := http.ListenAndServe("0.0.0.0:"+port, nil)
  30. if err != nil {
  31. лог.Err("profile(): ошибка при запуске профилировщика, err=\n\t%v\n", err)
  32. }
  33. time.Sleep(time.Second * 1)
  34. }
  35. }