main.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. "time"
  15. "wartank/pkg/kernel/kernel_ctx"
  16. "wartank/pkg/kernel/kernel_log"
  17. "wartank/server"
  18. )
  19. func profile() {
  20. конт := kernel_ctx.ПолучЯдроКонтекст()
  21. лог := kernel_log.НовЛоггер(конт, "Профиль")
  22. port := "29081"
  23. stage := os.Getenv("STAGE")
  24. if stage == "prod" {
  25. port = "29080"
  26. }
  27. for {
  28. err := http.ListenAndServe("0.0.0.0:"+port, nil)
  29. if err != nil {
  30. лог.Ошибка("profile(): ошибка при запуске профилировщика, err=\n\t%v\n", err)
  31. }
  32. time.Sleep(time.Second * 1)
  33. }
  34. }
  35. var (
  36. // Version -- версия тега хранилища
  37. Version = ""
  38. // Date -- дата релиза
  39. Date = ""
  40. // GoVersion -- версия компилятора
  41. GoVersion = ""
  42. )
  43. func main() {
  44. конт := kernel_ctx.ПолучЯдроКонтекст()
  45. лог := kernel_log.НовЛоггер(конт, "main")
  46. лог.Инфо("main():\n\tgo = %v\n\tvers = %v\n\tdate = %v\n", GoVersion, Version, Date)
  47. go profile()
  48. сервер := server.НовСервер()
  49. go func() {
  50. time.Sleep(time.Minute * 20)
  51. сервер.Отменить()
  52. }()
  53. ош := сервер.Пуск()
  54. лог.Паника(ош != nil, "Сервер.Пуск(): ошибка при запуске сервера, ош=\n\t%v\n", ош)
  55. }