Files
gostock/internal/logic/strategy/boot.go

41 lines
764 B
Go
Raw Normal View History

2026-01-27 00:25:34 +08:00
package strategy
2026-02-03 22:38:24 +08:00
import (
"log"
2026-02-03 22:42:47 +08:00
"sync"
2026-02-03 22:38:24 +08:00
"git.apinb.com/quant/gostock/internal/impl"
"git.apinb.com/quant/gostock/internal/models"
)
2026-01-27 00:25:34 +08:00
func Boot() {
2026-01-31 18:22:58 +08:00
InitCacheByAll()
2026-01-27 00:25:34 +08:00
}
2026-02-03 22:38:24 +08:00
func BootAiStart(key string, ymd int) {
var datas []models.StratModel
err := impl.DBService.Where("strat_key=? and ymd=? and ai_score=0", key, ymd).Find(&datas).Error
if err != nil {
panic(err)
}
2026-02-03 22:42:47 +08:00
var wg sync.WaitGroup
2026-02-03 22:38:24 +08:00
for _, row := range datas {
2026-02-03 22:42:47 +08:00
wg.Add(1)
go BootAiTask(row.ID, row.Code, &wg)
2026-02-03 22:38:24 +08:00
}
2026-02-03 22:42:47 +08:00
wg.Wait()
2026-02-03 22:38:24 +08:00
}
2026-02-03 22:42:47 +08:00
func BootAiTask(id uint, code string, wg *sync.WaitGroup) {
defer wg.Done()
2026-02-03 22:38:24 +08:00
result, err := AiAnalysis(code)
if err != nil {
log.Println("ERROR BootAiTask", err.Error())
return
}
impl.DBService.Model(&models.StratModel{}).Where("id=?", id).Updates(result)
}