service

package
v0.0.0-...-71a7f5d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 10, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitExecutor

func InitExecutor() (err error)

InitExecutor 初始化执行器

func InitMgr

func InitMgr() (err error)

InitMgr 初始化管理器

func InitScheduler

func InitScheduler() (err error)

InitScheduler 初始化调度器

func InitWorkerNode

func InitWorkerNode() (err error)

InitWorkerNode 初始化一致性hash node信息

Types

type Executor

type Executor struct {
}

Executor 执行器

var (
	GExecutor *Executor
)

func (*Executor) ExecuteJob

func (e *Executor) ExecuteJob(info *entity.JobExecuteInfo)

ExecuteJob 执行一个任务

type HashNode

type HashNode struct {
	Name string `json:"name"`
}

HashNode 一致性hash节点名称

func (*HashNode) String

func (h *HashNode) String() string

type JobLock

type JobLock struct {
	// contains filtered or unexported fields
}

JobLock job分布式锁

func InitJobLock

func InitJobLock(jobName string, kv clientv3.KV, lease clientv3.Lease) (jobLock *JobLock)

InitJobLock 初始化分布式锁

func (*JobLock) TryLock

func (jobLock *JobLock) TryLock() (err error)

TryLock try lock

func (*JobLock) UnLock

func (jobLock *JobLock) UnLock()

UnLock un lock

type Mgr

type Mgr struct {
	// contains filtered or unexported fields
}

Mgr 任务管理器

var (
	// G_MGR 单例
	G_MGR *Mgr
)

func (*Mgr) CreateJobLock

func (mgr *Mgr) CreateJobLock(jobName string) (jobLock *JobLock)

CreateJobLock 构建一个job锁

func (*Mgr) DeleteWorkerDataCallback

func (mgr *Mgr) DeleteWorkerDataCallback(ctx context.Context)

DeleteWorkerDataCallback 关闭服务时删除工作节点分配任务数据

func (*Mgr) PushWorkerNodeChangeEvent

func (mgr *Mgr) PushWorkerNodeChangeEvent(changeEvent *entity.WorkerChangeEvent)

PushWorkerNodeChangeEvent 处理新节点加入后的任务分配问题

func (*Mgr) SchedulerAddWorkerNode

func (mgr *Mgr) SchedulerAddWorkerNode()

SchedulerAddWorkerNode 将自身节点的任务按一致性hash处理,如果是其他节点就移入其他节点,如果是自身的节点就不用移动

func (*Mgr) WatchJobs

func (mgr *Mgr) WatchJobs(ctx context.Context) (err error)

WatchJobs 监听任务变化

type Scheduler

type Scheduler struct {
	// contains filtered or unexported fields
}

Scheduler 任务调度

var (
	GScheduler *Scheduler
)

func (*Scheduler) PushJobEvent

func (s *Scheduler) PushJobEvent(jobEvent *entity.JobEvent)

PushJobEvent 推送任务变化事件

func (*Scheduler) PushJobResult

func (s *Scheduler) PushJobResult(jobResult *entity.JobExecuteResult)

PushJobResult 回传执行结果

func (*Scheduler) TrySchedule

func (s *Scheduler) TrySchedule() (scheduleAfter time.Duration)

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 监听工作节点变化信息,用于重新分配任务

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL