1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/blackbeans-kiteq

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
kiteq.go 1.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
zhao.chao Отправлено 06.05.2020 10:43 0f1300d
package main
import (
"fmt"
log "github.com/blackbeans/log4go"
"github.com/blackbeans/turbo"
"kiteq/server"
_ "net/http/pprof"
"os"
"os/signal"
"runtime"
"runtime/debug"
"syscall"
"time"
)
func main() {
//加载启动参数
so := server.Parse()
runtime.GOMAXPROCS(runtime.NumCPU())
rc := turbo.NewTConfig(
"remoting",
1000, 16*1024,
16*1024, 10000, 10000,
10*time.Second,
100*10000)
kc := server.NewKiteQConfig(so, rc)
qserver := server.NewKiteQServer(kc)
qserver.Start()
var s = make(chan os.Signal, 1)
signal.Notify(s, syscall.SIGKILL, syscall.SIGUSR1, syscall.SIGTERM)
//是否收到kill的命令
for {
cmd := <-s
if cmd == syscall.SIGKILL || cmd == syscall.SIGTERM {
break
} else if cmd == syscall.SIGUSR1 {
//如果为siguser1则进行dump内存
unixtime := time.Now().Unix()
path := fmt.Sprintf("./heapdump-kiteq-%d", unixtime)
f, err := os.Create(path)
if nil != err {
continue
} else {
debug.WriteHeapDump(f.Fd())
}
}
}
qserver.Shutdown()
log.InfoLog("kite_server", "KiteQServer IS STOPPED!")
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/blackbeans-kiteq.git
git@api.gitlife.ru:oschina-mirror/blackbeans-kiteq.git
oschina-mirror
blackbeans-kiteq
blackbeans-kiteq
master