去掉Coaster UploadTray,以后再说
This commit is contained in:
parent
91388f85e8
commit
534186cf8f
12
candle.go
12
candle.go
@ -21,7 +21,7 @@ import (
|
|||||||
type Candle struct {
|
type Candle struct {
|
||||||
Id string `json:"_id"`
|
Id string `json:"_id"`
|
||||||
core *Core
|
core *Core
|
||||||
InstId string
|
InstID string
|
||||||
Period string
|
Period string
|
||||||
Data []interface{}
|
Data []interface{}
|
||||||
From string
|
From string
|
||||||
@ -64,7 +64,7 @@ func (cd *Candle) Filter(cr *Core) bool {
|
|||||||
myFocusList := cr.Cfg.Config.Get("focusList").MustArray()
|
myFocusList := cr.Cfg.Config.Get("focusList").MustArray()
|
||||||
founded := false
|
founded := false
|
||||||
for _, v := range myFocusList {
|
for _, v := range myFocusList {
|
||||||
if v.(string) == cd.InstId {
|
if v.(string) == cd.InstID {
|
||||||
founded = true
|
founded = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -179,7 +179,7 @@ func (core *Core) SaveCandle(instId string, period string, rsp *CandleData, dura
|
|||||||
leng := len(rsp.Data)
|
leng := len(rsp.Data)
|
||||||
for _, v := range rsp.Data {
|
for _, v := range rsp.Data {
|
||||||
candle := Candle{
|
candle := Candle{
|
||||||
InstId: instId,
|
InstID: instId,
|
||||||
Period: period,
|
Period: period,
|
||||||
Data: v,
|
Data: v,
|
||||||
From: "rest",
|
From: "rest",
|
||||||
@ -203,7 +203,7 @@ func (core *Core) SaveCandle(instId string, period string, rsp *CandleData, dura
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (candle *Candle) PushToWriteLogChan(cr *Core) error {
|
func (candle *Candle) PushToWriteLogChan(cr *Core) error {
|
||||||
did := candle.InstId + candle.Period + candle.Data[0].(string)
|
did := candle.InstID + candle.Period + candle.Data[0].(string)
|
||||||
candle.Id = HashString(did)
|
candle.Id = HashString(did)
|
||||||
ncd, _ := candle.ToStruct(cr)
|
ncd, _ := candle.ToStruct(cr)
|
||||||
fmt.Println("ncd: ", ncd)
|
fmt.Println("ncd: ", ncd)
|
||||||
@ -240,7 +240,7 @@ func (cl *Candle) ToStruct(core *Core) (*Candle, error) {
|
|||||||
ncd := Candle{}
|
ncd := Candle{}
|
||||||
ncd.Id = cl.Id
|
ncd.Id = cl.Id
|
||||||
ncd.Period = cl.Period
|
ncd.Period = cl.Period
|
||||||
ncd.InstId = cl.InstId
|
ncd.InstID = cl.InstID
|
||||||
ncd.From = cl.From
|
ncd.From = cl.From
|
||||||
|
|
||||||
// 将字符串转换为 int64 类型的时间戳
|
// 将字符串转换为 int64 类型的时间戳
|
||||||
@ -446,7 +446,7 @@ func (cl *Candle) SetToKey(core *Core) ([]interface{}, error) {
|
|||||||
data := cl.Data
|
data := cl.Data
|
||||||
tsi, err := strconv.ParseInt(data[0].(string), 10, 64)
|
tsi, err := strconv.ParseInt(data[0].(string), 10, 64)
|
||||||
tss := strconv.FormatInt(tsi, 10)
|
tss := strconv.FormatInt(tsi, 10)
|
||||||
keyName := "candle" + cl.Period + "|" + cl.InstId + "|ts:" + tss
|
keyName := "candle" + cl.Period + "|" + cl.InstID + "|ts:" + tss
|
||||||
//过期时间:根号(当前candle的周期/1分钟)*10000
|
//过期时间:根号(当前candle的周期/1分钟)*10000
|
||||||
|
|
||||||
dt, err := json.Marshal(cl.Data)
|
dt, err := json.Marshal(cl.Data)
|
||||||
|
159
coaster.go
159
coaster.go
@ -89,88 +89,89 @@ func (co *Coaster) SetToKey(cr *Core) (string, error) {
|
|||||||
return res, err
|
return res, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (coi *CoasterInfo) Process(cr *Core) {
|
// func (coi *CoasterInfo) Process(cr *Core) {
|
||||||
curCo, _ := cr.GetCoasterFromPlate(coi.InstID, coi.Period)
|
// curCo, _ := cr.GetCoasterFromPlate(coi.InstID, coi.Period)
|
||||||
go func(co Coaster) {
|
// go func(co Coaster) {
|
||||||
//这里执行:创建一个tray对象,用现有的co的数据计算和填充其listMap
|
// //这里执行:创建一个tray对象,用现有的co的数据计算和填充其listMap
|
||||||
// TODO 发到一个channel里来执行下面的任务,
|
// // TODO 发到一个channel里来执行下面的任务,
|
||||||
allow := os.Getenv("SARDINE_MAKESERIES") == "true"
|
// allow := os.Getenv("SARDINE_MAKESERIES") == "true"
|
||||||
if !allow {
|
// if !allow {
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
srs, err := co.UpdateTray(cr)
|
// srs, err := co.UpdateTray(cr)
|
||||||
if err != nil || srs == nil {
|
// if err != nil || srs == nil {
|
||||||
logrus.Warn("tray err: ", err)
|
// logrus.Warn("tray err: ", err)
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
_, err = srs.SetToKey(cr)
|
// _, err = srs.SetToKey(cr)
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
logrus.Warn("srs SetToKey err: ", err)
|
// logrus.Warn("srs SetToKey err: ", err)
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
//实例化完一个tray之后,拿着这个tray去执行Analytics方法
|
// //实例化完一个tray之后,拿着这个tray去执行Analytics方法
|
||||||
|
// //
|
||||||
|
// // srsinfo := SeriesInfo{
|
||||||
|
// // InstID: curCo.InstID,
|
||||||
|
// // Period: curCo.Period,
|
||||||
|
// // }
|
||||||
|
// //
|
||||||
|
// // cr.SeriesChan <- &srsinfo
|
||||||
|
// }(curCo)
|
||||||
//
|
//
|
||||||
// srsinfo := SeriesInfo{
|
// go func(co Coaster) {
|
||||||
// InstID: curCo.InstID,
|
// // 每3次会有一次触发缓存落盘
|
||||||
// Period: curCo.Period,
|
// // run := utils.Shaizi(3)
|
||||||
|
// // if run {
|
||||||
|
// _, err := co.SetToKey(cr)
|
||||||
|
// if err != nil {
|
||||||
|
// logrus.Warn("coaster process err: ", err)
|
||||||
|
// fmt.Println("coaster SetToKey err: ", err)
|
||||||
|
// }
|
||||||
|
// // }
|
||||||
|
//
|
||||||
|
// }(curCo)
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// cr.SeriesChan <- &srsinfo
|
|
||||||
}(curCo)
|
|
||||||
|
|
||||||
go func(co Coaster) {
|
|
||||||
// 每3次会有一次触发缓存落盘
|
|
||||||
// run := utils.Shaizi(3)
|
|
||||||
// if run {
|
|
||||||
_, err := co.SetToKey(cr)
|
|
||||||
if err != nil {
|
|
||||||
logrus.Warn("coaster process err: ", err)
|
|
||||||
fmt.Println("coaster SetToKey err: ", err)
|
|
||||||
}
|
|
||||||
// }
|
|
||||||
|
|
||||||
}(curCo)
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO 类似于InsertIntoPlate函数,照猫画虎就行了
|
// TODO 类似于InsertIntoPlate函数,照猫画虎就行了
|
||||||
func (co *Coaster) UpdateTray(cr *Core) (*Series, error) {
|
//
|
||||||
cr.Mu1.Lock()
|
// func (co *Coaster) UpdateTray(cr *Core) (*Series, error) {
|
||||||
defer cr.Mu1.Unlock()
|
// cr.Mu1.Lock()
|
||||||
//尝试从内存读取tray对象
|
// defer cr.Mu1.Unlock()
|
||||||
tr, trayFounded := cr.TrayMap[co.InstID]
|
// //尝试从内存读取tray对象
|
||||||
if !trayFounded {
|
// tr, trayFounded := cr.TrayMap[co.InstID]
|
||||||
tr1, err := co.LoadTray(cr)
|
// if !trayFounded {
|
||||||
if err != nil {
|
// tr1, err := co.LoadTray(cr)
|
||||||
return nil, err
|
// if err != nil {
|
||||||
}
|
// return nil, err
|
||||||
cr.TrayMap[co.InstID] = tr1
|
|
||||||
tr = tr1
|
|
||||||
}
|
|
||||||
srs, seriesFounded := tr.SeriesMap["period"+co.Period]
|
|
||||||
err := errors.New("")
|
|
||||||
if !seriesFounded {
|
|
||||||
srs1, err := tr.NewSeries(cr, co.Period)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
tr.SeriesMap["period"+co.Period] = srs1
|
|
||||||
} else {
|
|
||||||
err = srs.Refresh(cr)
|
|
||||||
}
|
|
||||||
// if err == nil {
|
|
||||||
// bj, _ := json.Marshal(srs)
|
|
||||||
// logrus.Debug("series:,string"(bj))
|
|
||||||
// }
|
// }
|
||||||
return srs, err
|
// cr.TrayMap[co.InstID] = tr1
|
||||||
}
|
// tr = tr1
|
||||||
|
// }
|
||||||
|
// srs, seriesFounded := tr.SeriesMap["period"+co.Period]
|
||||||
|
// err := errors.New("")
|
||||||
|
// if !seriesFounded {
|
||||||
|
// srs1, err := tr.NewSeries(cr, co.Period)
|
||||||
|
// if err != nil {
|
||||||
|
// return nil, err
|
||||||
|
// }
|
||||||
|
// tr.SeriesMap["period"+co.Period] = srs1
|
||||||
|
// } else {
|
||||||
|
// err = srs.Refresh(cr)
|
||||||
|
// }
|
||||||
|
// // if err == nil {
|
||||||
|
// // bj, _ := json.Marshal(srs)
|
||||||
|
// // logrus.Debug("series:,string"(bj))
|
||||||
|
// // }
|
||||||
|
// return srs, err
|
||||||
|
// }
|
||||||
|
//
|
||||||
// TODO
|
// TODO
|
||||||
func (co *Coaster) LoadTray(cr *Core) (*Tray, error) {
|
// func (co *Coaster) LoadTray(cr *Core) (*Tray, error) {
|
||||||
tray := Tray{}
|
// tray := Tray{}
|
||||||
tray.Init(co.InstID)
|
// tray.Init(co.InstID)
|
||||||
prs := cr.Cfg.Config.Get("candleDimentions").MustArray()
|
// prs := cr.Cfg.Config.Get("candleDimentions").MustArray()
|
||||||
for _, v := range prs {
|
// for _, v := range prs {
|
||||||
tray.NewSeries(cr, v.(string))
|
// tray.NewSeries(cr, v.(string))
|
||||||
}
|
// }
|
||||||
return &tray, nil
|
// return &tray, nil
|
||||||
}
|
// }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user