Documentation
¶
Overview ¶
本文件汇集 TDX 相关任务共用的工具: 按日期范围下载并解压 zip 的通用流程。
Index ¶
Constants ¶
View Source
const ExtraTicValidDates = "tic_valid_dates"
ExtraTicValidDates 是 prepare_tic 写入 args.Extra 的 key, 值类型为 []time.Time,列出本轮成功下载到的分时日期。
Variables ¶
This section is empty.
Functions ¶
func GetInitTaskNames ¶
func GetInitTaskNames() []string
func GetRegisteredTasks ¶
func GetUpdateTaskNames ¶
func GetUpdateTaskNames() []string
Types ¶
type SkipCondition ¶
SkipCondition determines if a task should be skipped
type Task ¶
type Task struct {
Name string
DependsOn []string
Executor TaskFunc
SkipIf SkipCondition
OnError ErrorMode
}
Task represents a unit of work with dependencies
var TaskFetchGBBQ *Task
var TaskPrepareTic *Task
var TaskUpdate1Min *Task
var TaskUpdateBlocks *Task
var TaskUpdateGBBQ *Task
var TaskUpdateHolidays *Task
var TaskUpdateSymbolNames *Task
type TaskExecutor ¶
type TaskExecutor struct {
// contains filtered or unexported fields
}
TaskExecutor manages and executes tasks with dependency resolution
func NewTaskExecutor ¶
func NewTaskExecutor(db database.DataRepository, tasks map[string]*Task) *TaskExecutor
NewTaskExecutor creates a new task executor
func (*TaskExecutor) GetTaskNames ¶
func (te *TaskExecutor) GetTaskNames() []string
func (*TaskExecutor) HasTask ¶
func (te *TaskExecutor) HasTask(name string) bool
type TaskFunc ¶
type TaskFunc func(ctx context.Context, db database.DataRepository, args *TaskArgs) (*TaskResult, error)
TaskFunc is the function that executes a task
type TaskResult ¶
TaskResult holds the execution result of a task
type TradingCalendar ¶
type TradingCalendar struct {
// contains filtered or unexported fields
}
func NewTradingCalendar ¶
func NewTradingCalendar(holidays []time.Time) *TradingCalendar
func (*TradingCalendar) IsTradingDay ¶
func (c *TradingCalendar) IsTradingDay(d time.Time) bool
func (*TradingCalendar) LastTradingDayOnOrBefore ¶
func (c *TradingCalendar) LastTradingDayOnOrBefore(d time.Time) time.Time
LastTradingDayOnOrBefore 返回 ≤ d 的最近交易日。
type WorkPlan ¶
type WorkPlan struct {
Today time.Time
LastTradingDay time.Time
Calendar *TradingCalendar
NeedDaily bool
NeedGbbq bool
NeedBasic bool
NeedFactor bool
NeedHolidays bool
Reason string // 用于日志
}
WorkPlan 在任务图启动前汇总交易日历与各表最新日期,决定哪些任务真正需要跑。 任务框架里的 SkipIf 只读取本结构,不再各自重复查询。
func BuildWorkPlan ¶
BuildWorkPlan 读取交易日历与各表最新日期,推导本次 cron 要做什么。
Click to show internal directories.
Click to hide internal directories.