| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // package build -- различные строители
- package build
- import (
- "net/http"
- _ "net/http/pprof"
- "runtime/debug"
- "time"
- . "wartank/app/lev0/types"
- "wartank/app/lev4/applic"
- "wartank/kernel"
- . "wartank/kernel/kernel_types"
- )
- func СобратьПриложение() ИПриложение {
- go ЗапуститьПрофиль()
- bi, _ := debug.ReadBuildInfo()
- лог := СобратьЛог("main")
- лог.Инфо("ИНФО \tgo = %v\n\tvers = %v\n", bi.GoVersion, bi.Main.Version)
- прил := applic.НовПриложение()
- go func() {
- time.Sleep(time.Minute * 20)
- прил.Отменить()
- }()
- return прил
- }
- func СобратьЛог(префикс string) ИЯдроЛог {
- лог := kernel.НовЛог(префикс)
- return лог
- }
- func ЗапуститьПрофиль() {
- лог := СобратьЛог("ПРОФИЛЬ")
- port := "29081"
- 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)
- }
- }
|