main.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. "log"
  12. "net/http"
  13. _ "net/http/pprof"
  14. "os"
  15. "time"
  16. "wartank/server"
  17. )
  18. func profile() {
  19. port := "29081"
  20. stage := os.Getenv("STAGE")
  21. if stage == "prod" {
  22. port = "29080"
  23. }
  24. for {
  25. err := http.ListenAndServe("0.0.0.0:"+port, nil)
  26. if err != nil {
  27. log.Printf("profile(): in run pprof, err=\n\t%v\n", err)
  28. }
  29. time.Sleep(time.Second * 1)
  30. }
  31. }
  32. var (
  33. // Version -- версия тега хранилища
  34. Version = ""
  35. // Date -- дата релиза
  36. Date = ""
  37. // GoVersion -- версия компилятора
  38. GoVersion = ""
  39. )
  40. func main() {
  41. log.Printf("main():\n\tgo=%v\n\tvers=%v\n\tdate=%v\n", GoVersion, Version, Date)
  42. go profile()
  43. serv, err := server.НовСервер()
  44. if err != nil {
  45. log.Printf("main(): in make IServer, err=\n\t%v\n", err)
  46. os.Exit(1)
  47. }
  48. if err := serv.Run(); err != nil {
  49. log.Printf("main(): in run server, err=\n\t%v\n", err)
  50. os.Exit(2)
  51. }
  52. }