Documentation
¶
Index ¶
- func InitExecutor() (err error)
- func InitMgr() (err error)
- func InitScheduler() (err error)
- func InitWorkerNode() (err error)
- type Executor
- type HashNode
- type JobLock
- type Mgr
- func (mgr *Mgr) CreateJobLock(jobName string) (jobLock *JobLock)
- func (mgr *Mgr) DeleteWorkerDataCallback(ctx context.Context)
- func (mgr *Mgr) PushWorkerNodeChangeEvent(changeEvent *entity.WorkerChangeEvent)
- func (mgr *Mgr) SchedulerAddWorkerNode()
- func (mgr *Mgr) WatchJobs(ctx context.Context) (err error)
- type Scheduler
- type WorkerNode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Executor ¶
type Executor struct { }
Executor 执行器
var (
GExecutor *Executor
)
func (*Executor) ExecuteJob ¶
func (e *Executor) ExecuteJob(info *entity.JobExecuteInfo)
ExecuteJob 执行一个任务
type JobLock ¶
type JobLock struct {
// contains filtered or unexported fields
}
JobLock job分布式锁
func InitJobLock ¶
InitJobLock 初始化分布式锁
type Mgr ¶
type Mgr struct {
// contains filtered or unexported fields
}
Mgr 任务管理器
var ( // G_MGR 单例 G_MGR *Mgr )
func (*Mgr) CreateJobLock ¶
CreateJobLock 构建一个job锁
func (*Mgr) DeleteWorkerDataCallback ¶
DeleteWorkerDataCallback 关闭服务时删除工作节点分配任务数据
func (*Mgr) PushWorkerNodeChangeEvent ¶
func (mgr *Mgr) PushWorkerNodeChangeEvent(changeEvent *entity.WorkerChangeEvent)
PushWorkerNodeChangeEvent 处理新节点加入后的任务分配问题
func (*Mgr) SchedulerAddWorkerNode ¶
func (mgr *Mgr) SchedulerAddWorkerNode()
SchedulerAddWorkerNode 将自身节点的任务按一致性hash处理,如果是其他节点就移入其他节点,如果是自身的节点就不用移动
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
Scheduler 任务调度
var (
GScheduler *Scheduler
)
func (*Scheduler) PushJobEvent ¶
PushJobEvent 推送任务变化事件
func (*Scheduler) PushJobResult ¶
func (s *Scheduler) PushJobResult(jobResult *entity.JobExecuteResult)
PushJobResult 回传执行结果
func (*Scheduler) TrySchedule ¶
TrySchedule 计算任务调度状态
func (*Scheduler) TryStartJob ¶
func (s *Scheduler) TryStartJob(jobPlan *entity.JobSchedulePlan)
TryStartJob 尝试执行任务
type WorkerNode ¶
type WorkerNode struct { consistent.Consistent // contains filtered or unexported fields }
WorkerNode 工作节点信息
var ( // GWorkerNode 工作节点信息 GWorkerNode *WorkerNode )
func (*WorkerNode) FormerMembers ¶
func (w *WorkerNode) FormerMembers() []string
FormerMembers 所有曾经存在的节点成员
func (*WorkerNode) WatchWorkers ¶
func (w *WorkerNode) WatchWorkers(ctx context.Context)
WatchWorkers 监听工作节点变化信息,用于重新分配任务
Click to show internal directories.
Click to hide internal directories.