// package main -- пускач для десктопа на лорке
//
// Профилирование:
//
//	go tool pprof http://localhost:29080/debug/pprof/profile?seconds=30
package main

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

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

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

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