52 lines
1.5 KiB
Go
52 lines
1.5 KiB
Go
package imitate
|
|
|
|
// type ExecuteRecord struct {
|
|
// IsSuccess bool
|
|
// FailCount int
|
|
// Message []string
|
|
// }
|
|
|
|
// IExecute 计划执行的时间接口
|
|
type IExecute interface {
|
|
SetStartStatus(status bool) // SetStart 设置执行计划是否生效
|
|
GetStartStatus() bool // IsStart 获取计划的触发时间是否在生效
|
|
GetTriggerTime() int64 // GetTriggerTime 获取计划的触发时间
|
|
|
|
TimeTo() int64 // TimeTo 是否到了该触发的时间
|
|
|
|
// SetSuccessStatus(status bool) // SetSuccessStatus 设置成功的状态 将记录于历史
|
|
// History() []ExecuteRecord // History 记录一些历史, 可能会持久到数据库. 暂时不要
|
|
CalculateTrigger() // CalculateTrigger 计算触发特定时间任务的时间点
|
|
}
|
|
|
|
// ExecutePlan 执行时间的计划表
|
|
// type ExecutePlan CircularLinked
|
|
|
|
// // PlanResult 执行计划表的结果
|
|
// type PlanResult struct {
|
|
// Exec IExecute
|
|
// Resp *requests.Response
|
|
// }
|
|
|
|
// // NewExecutePlan create a plan
|
|
// func NewExecutePlan() *ExecutePlan {
|
|
// plan := &ExecutePlan{}
|
|
// plan.ExecuteQueue = NewCircularLinked()
|
|
// return plan
|
|
// }
|
|
|
|
// // AppendIExecute 添加执行计划任务
|
|
// func (ep *ExecutePlan) AppendIExecute(e IExecute) {
|
|
// ep.ExecuteQueue.Append(e)
|
|
// }
|
|
|
|
// // ClearIExecute 清除执行计划任务
|
|
// func (ep *ExecutePlan) ClearIExecute() {
|
|
// ep.ExecuteQueue = NewCircularLinked()
|
|
// }
|
|
|
|
// // CountIExecute 清除执行计划任务
|
|
// func (ep *ExecutePlan) CountIExecute() uint64 {
|
|
// return ep.ExecuteQueue.Size()
|
|
// }
|