50 lines
931 B
Go
50 lines
931 B
Go
package cron
|
||
|
||
import (
|
||
"os"
|
||
"time"
|
||
|
||
"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)
|
||
}
|
||
|
||
UpdateTask()
|
||
|
||
scheduler := cron.New()
|
||
// 每天运行3次来更新数据
|
||
scheduler.AddFunc("0 18 * * *", func() {
|
||
UpdateTask()
|
||
})
|
||
// 新增每天6点,12点,18点运行一次
|
||
scheduler.AddFunc("0 6,12,23 * * *", func() {
|
||
UpdateFinaTask()
|
||
})
|
||
scheduler.Start()
|
||
}
|
||
|
||
func UpdateTask() {
|
||
a.NewApiClient()
|
||
// 获取股票列表
|
||
a.GetStockBasic()
|
||
// 获取股票日线
|
||
a.GetStockDaily()
|
||
// 获取股票指标
|
||
a.GetStockIndicator()
|
||
// 生成Markdown文件
|
||
a.GenMarkData()
|
||
// start strategy
|
||
utils.HttpGet("http://localhost:13499/start/strategy", time.Minute*60*3)
|
||
}
|
||
|
||
func UpdateFinaTask() {
|
||
a.NewApiClient()
|
||
// 获取股票财务指标数据
|
||
a.GetFinaIndicator()
|
||
}
|