You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.3 KiB
Go

package main
import (
"flag"
"fmt"
"git.noahlan.cn/northlan/ntools-go/logger"
"live-gateway/bilibili"
"live-gateway/config"
"live-gateway/douyu"
"sync"
"time"
)
var configFile = flag.String("f", "./config.yml", "the config file")
func main() {
flag.Parse()
config.Init(*configFile)
if err := logger.InitLogger(&config.Config.Log.File, &config.Config.Log.Console); err != nil {
fmt.Println("初始化logger错误", err)
}
defer logger.Sync()
var wg sync.WaitGroup
if config.Config.Bilibili.Enabled {
bLive := bilibili.NewLiveBilibili()
wg.Add(1)
go func() {
if err := bLive.Serve(); err != nil {
logger.SLog.Error("err: ", err)
wg.Done()
}
}()
go func() {
// timer
timer := time.NewTimer(time.Second * config.Config.Bilibili.ResetInterval)
for {
select {
case <-timer.C:
bLive.ReConnect()
}
}
}()
}
if config.Config.Douyu.Enabled {
bLive := douyu.NewLiveDouyu()
wg.Add(1)
go func() {
if err := bLive.Serve(); err != nil {
logger.SLog.Error("err: ", err)
wg.Done()
}
}()
//go func() {
// // timer
// timer := time.NewTimer(time.Second * config.Config.Douyu.ResetInterval)
// for {
// select {
// case <-timer.C:
// bLive.ReConnect()
// }
// }
//}()
}
wg.Wait()
}