Files
stock/internal/cron/boot.go

48 lines
916 B
Go
Raw Normal View History

2026-02-09 17:36:20 +08:00
package cron
import (
"os"
2026-02-09 17:52:16 +08:00
"time"
2026-02-09 17:36:20 +08:00
"git.apinb.com/bsm-sdk/core/utils"
"git.apinb.com/dataset/stock/internal/logic/a"
"github.com/robfig/cron/v3"
)
func Boot() {
if !utils.PathExists("./markdata/") {
os.MkdirAll("./markdata/", 0755)
}
scheduler := cron.New()
// 每天运行3次来更新数据
2026-02-11 15:59:29 +08:00
scheduler.AddFunc("0 18 * * *", func() {
2026-02-10 20:14:55 +08:00
UpdateTask()
2026-02-09 17:36:20 +08:00
})
2026-02-11 15:59:29 +08:00
// 新增每天6点12点18点运行一次
2026-02-11 16:33:18 +08:00
scheduler.AddFunc("0 6,12,23 * * *", func() {
2026-02-11 15:59:29 +08:00
UpdateFinaTask()
})
2026-02-09 17:36:20 +08:00
scheduler.Start()
}
2026-02-10 20:14:55 +08:00
func UpdateTask() {
2026-02-09 17:36:20 +08:00
a.NewApiClient()
// 获取股票列表
a.GetStockBasic()
// 获取股票日线
a.GetStockDaily()
// 获取股票指标
a.GetStockIndicator()
// 生成Markdown文件
a.GenMarkData()
2026-02-09 17:45:52 +08:00
// start strategy
2026-02-09 17:52:16 +08:00
utils.HttpGet("http://localhost:13499/start/strategy", time.Minute*60*3)
2026-02-09 17:36:20 +08:00
}
2026-02-11 15:59:29 +08:00
func UpdateFinaTask() {
a.NewApiClient()
// 获取股票财务指标数据
a.GetFinaIndicator()
}