main.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // package main -- пускач для десктопа на лорке
  2. //
  3. // Профилирование:
  4. //
  5. // go tool pprof http://localhost:29080/debug/pprof/profile?seconds=30
  6. package main
  7. import (
  8. "net/http"
  9. _ "net/http/pprof"
  10. "os"
  11. "time"
  12. "wartank/desc_lorca"
  13. "wartank/pkg/components/kernel/logger"
  14. )
  15. func профилировать() {
  16. лог := logger.НовЛоггер("Профиль")
  17. порт := "29081"
  18. стенд := os.Getenv("STAGE")
  19. if стенд == "prod" {
  20. порт = "29080"
  21. }
  22. for {
  23. ош := http.ListenAndServe("0.0.0.0:"+порт, nil)
  24. if ош != nil {
  25. лог.Ошибка("Профиль(): ошибка при запуске профилировщика, ош=\n\t%v\n", ош)
  26. }
  27. time.Sleep(time.Second * 1)
  28. }
  29. }
  30. var (
  31. // Version -- версия тега хранилища
  32. Version = ""
  33. // Date -- дата релиза
  34. Date = ""
  35. // GoVersion -- версия компилятора
  36. GoVersion = ""
  37. )
  38. func main() {
  39. лог := logger.НовЛоггер("main")
  40. лог.Инфо("server:\n\tgo = %v\n\tvers = %v\n\tdate = %v\n", GoVersion, Version, Date)
  41. go профилировать()
  42. десктоп := desc_lorca.НовДесктопЛорка()
  43. go func() {
  44. time.Sleep(time.Minute * 20)
  45. десктоп.Отменить()
  46. }()
  47. десктоп.Пуск()
  48. }