main.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // package main -- пускач для сервера на файбере
  2. //
  3. // Команда запуска обновлятора noip.com
  4. // noip-duc -g p78su.ddns.net,p78git.ddns.net --daemonize -u prospero78su -p Lera_07091978
  5. //
  6. // Профилирование:
  7. //
  8. // go tool pprof http://localhost:29080/debug/pprof/profile?seconds=30
  9. package main
  10. import (
  11. "net/http"
  12. _ "net/http/pprof"
  13. "os"
  14. "runtime/debug"
  15. "time"
  16. "wartank/app/lev3/build"
  17. "wartank/pkg/kernel/kernel_log"
  18. )
  19. func profile() {
  20. лог := kernel_log.НовЛоггер("ПРОФИЛЬ")
  21. port := "29081"
  22. stage := os.Getenv("STAGE")
  23. if stage == "prod" {
  24. port = "29080"
  25. }
  26. for {
  27. err := http.ListenAndServe("0.0.0.0:"+port, nil)
  28. if err != nil {
  29. лог.Ошибка("profile(): ошибка при запуске профилировщика, err=\n\t%v\n", err)
  30. }
  31. time.Sleep(time.Second * 1)
  32. }
  33. }
  34. func main() {
  35. лог := kernel_log.НовЛоггер("main")
  36. bi, _ := debug.ReadBuildInfo()
  37. лог.Инфо("main():\n\tgo = %v\n\tvers = %v\n", bi.GoVersion, bi.Main.Version)
  38. go profile()
  39. сервер := build.СделатьПриложение()
  40. go func() {
  41. time.Sleep(time.Minute * 20)
  42. сервер.Отменить()
  43. }()
  44. ош := сервер.Пуск()
  45. лог.Паника(ош != nil, "Сервер.Пуск(): ошибка при запуске сервера, ош=\n\t%v\n", ош)
  46. }