package main import ( // "fmt" "github.com/phyer/core" md "github.com/phyer/siaga/modules" logrus "github.com/sirupsen/logrus" "os" "sync" // "github.com/sirupsen/logrus" ) func main() { cr := core.Core{} cr.Init() logrus.SetLevel(logrus.InfoLevel) cr.TickerInforocessChan = make(chan *core.TickerInfo) cr.CandlesProcessChan = make(chan *core.Candle) cr.MaXProcessChan = make(chan *core.MaX) cr.RsiProcessChan = make(chan *core.Rsi) cr.StockRsiProcessChan = make(chan *core.StockRsi) cr.MakeMaXsChan = make(chan *core.Candle) cr.WriteLogChan = make(chan *core.WriteLog) cr.Mu = &sync.Mutex{} cr.PlateMap = make(map[string]*core.Plate) cli, _ := cr.GetRedisLocalCli() cr.RedisRemoteCli = cli rdsLs, _ := md.GetRemoteRedisConfigList() // 目前只有phyer里部署的tunas会发布tickerInfo信息 // fmt.Println("len of rdsLs: ", len(rdsLs)) // 定义订阅配置 subscriptions := []struct { envVar string channel string logPrefix string }{ {"SIAGA_ACCEPTTICKER", core.TICKERINFO_PUBLISH, "TickerInfo"}, {"SIAGA_ACCEPTCANDLE", core.ALLCANDLES_PUBLISH, "Candles"}, {"SIAGA_ACCEPTMAX", core.ALLMAXES_PUBLISH, "Max"}, {"SIAGA_ACCEPTSERIES", core.ALLSERIESINFO_PUBLISH, "Series"}, } // 启动所有订阅 for _, sub := range subscriptions { go func(s struct { envVar string channel string logPrefix string }) { if os.Getenv(s.envVar) != "true" { return } logrus.Infof("start subscribe %s: %s", s.logPrefix, s.channel) md.LoopSubscribe(&cr, s.channel, rdsLs[0]) }(sub) } go func() { md.TickerInfoProcess(&cr) }() go func() { md.CandlesProcess(&cr) }() go func() { md.LoopMakeMaX(&cr) }() go func() { md.MaXsProcess(&cr) }() go func() { md.RsisProcess(&cr) }() go func() { md.StockRsisProcess(&cr) }() // 这些暂时不运行, 以后要不要运行再说 go func() { md.CoasterProcess(&cr) }() // go func() { // core.SeriesProcess(&cr) // }() // go func() { // core.SegmentItemProcess(&cr) // }() // go func() { // core.ShearForceProcess(&cr) // }() go func() { core.WriteLogProcess(&cr) }() // ip := "0.0.0.0:6061" // if err := http.ListenAndServe(ip, nil); err != nil { // } // allMaxs: {1634413398759-0 map[ma7|candle5m|LUNA-USDT|key:{"ts":1634412300000,"value":36.906796182686605}]} // allCandles: {1634413398859-0 map[candle2H|XRP-USDT|key:{"channel":"candle2H","data":"eyJjIjoxLjExNzk1LCJmcm9tIjoicmVzdCIsImgiOjEuMTIyNzksImwiOjEuMTA4ODUsIm8iOjEuMTE3MzUsInRzIjoxNjM0MjkyMDAwMDAwLCJ2b2wiOjUwMDc5OTEuNDM5MDg1LCJ2b2xDY3kiOjU1OTE2MjUuNzI4NDc2fQ==","instId":"XRP-USDT"}]} logrus.Info("siaga started") select {} }