build.go 921 B

123456789101112131415161718192021222324252627282930313233343536373839
  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. . "wartank/app/lev0/types"
  10. "wartank/app/lev4/applic"
  11. )
  12. func СобратьПриложение() ИПриложение {
  13. go ЗапуститьПрофиль()
  14. bi, _ := debug.ReadBuildInfo()
  15. лог := NewLogBuf()
  16. лог.Info("ИНФО \tgo = %v\n\tvers = %v\n", bi.GoVersion, bi.Main.Version)
  17. прил := applic.НовПриложение()
  18. go func() {
  19. time.Sleep(time.Minute * 20)
  20. прил.Cancel()
  21. }()
  22. return прил
  23. }
  24. func ЗапуститьПрофиль() {
  25. лог := NewLogBuf()
  26. port := "29081"
  27. for {
  28. err := http.ListenAndServe("0.0.0.0:"+port, nil)
  29. if err != nil {
  30. лог.Err("profile(): ошибка при запуске профилировщика, err=\n\t%v\n", err)
  31. }
  32. time.Sleep(time.Second * 1)
  33. }
  34. }