// package main -- пускач для сервера на файбере
//
//	Команда запуска обновлятора noip.com
//	noip-duc -g p78su.ddns.net,p78git.ddns.net --daemonize -u prospero78su -p Lera_07091978
//
// Профилирование:
//
//	go tool pprof http://localhost:29080/debug/pprof/profile?seconds=30
package main

import (
	"net/http"
	_ "net/http/pprof"
	"os"
	"time"
	"wartank/pkg/components/kernel/logger"
	"wartank/server"
)

func profile() {
	лог := logger.НовЛоггер("Профиль")
	port := "29081"
	stage := os.Getenv("STAGE")
	if stage == "prod" {
		port = "29080"
	}
	for {
		err := http.ListenAndServe("0.0.0.0:"+port, nil)
		if err != nil {
			лог.Ошибка("profile(): ошибка при запуске профилировщика, err=\n\t%v\n", err)
		}
		time.Sleep(time.Second * 1)
	}
}

var (
	// Version -- версия тега хранилища
	Version = ""
	// Date -- дата релиза
	Date = ""
	// GoVersion -- версия компилятора
	GoVersion = ""
)

func main() {
	лог := logger.НовЛоггер("main")
	лог.Инфо("main():\n\tgo = %v\n\tvers = %v\n\tdate = %v\n", GoVersion, Version, Date)
	go profile()
	сервер := server.НовСервер()
	go func() {
		time.Sleep(time.Minute * 20)
		сервер.Отменить()
	}()
	ош := сервер.Пуск()
	лог.Паника(ош != nil, "Сервер.Пуск(): ошибка при запуске сервера, ош=\n\t%v\n", ош)
}
