Documentation ¶
Index ¶
- func InitConfig(filePath string) (err error)
- func InitExecutor() (err error)
- func InitJobManage() (err error)
- func InitLogSink() (err error)
- func InitRegister() (err error)
- func InitScheduler() (err error)
- type Config
- type Executor
- type JobLock
- type JobManage
- type LogSink
- type Register
- type Scheduler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitLogSink ¶
func InitLogSink() (err error)
Types ¶
type Config ¶
type Config struct { // ==etcd配置 // 集群 EtcdEndPoints []string `json:"etcdEndPoints"` // etcd连接超时 EtcdDialTimeout int `json:"etcdDialTimeout"` }
var (
G_config *Config
)
type Executor ¶
type Executor struct{}
任务执行器
var (
G_executor *Executor
)
func (*Executor) ExecuteJob ¶
func (executor *Executor) ExecuteJob(info *common.JobExecuteInfo)
执行任务
type JobLock ¶
type JobLock struct { // 任务名称 JobName string // etcd kv操作资源 ETCDkv clientv3.KV // etcd 租约 ETCDLease clientv3.Lease // 用于终止自动续租 CancelFunc context.CancelFunc // 租约id LeaseId clientv3.LeaseID // 是否上锁成功 IsLocked bool }
分布式 任务锁(TXN事务)
func InitJobLock ¶
初始化任务锁
type JobManage ¶
type JobManage struct { // etcd 客户端 ETCDClient *clientv3.Client // etcd kv操作资源 ETCDkv clientv3.KV // etcd 租约 ETCDLease clientv3.Lease // etcd watcher ETCDWatcher clientv3.Watcher }
任务管理
var (
G_jobManage *JobManage
)
单例
func (*JobManage) CreateJobLock ¶
创建任务锁
type LogSink ¶
type LogSink struct {
// contains filtered or unexported fields
}
mongodb 日志记录
var (
G_logSink *LogSink
)
type Register ¶
type Register struct {
// contains filtered or unexported fields
}
服务注册 /cron/works/{localIp}
var (
G_register *Register
)
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
调度器
var (
G_scheduler *Scheduler
)
func (*Scheduler) PushJobEvent ¶
worker.watcher从etcd中获取任务变化 推送job事件到 scheduler
func (*Scheduler) PushJobResult ¶
func (scheduler *Scheduler) PushJobResult(result *common.JobExecuteResult)
executor 执行完job 推送任务结果到 scheduler
func (*Scheduler) TryScheduler ¶
计算任务调度状态(扫描所有任务)
func (*Scheduler) TryStartJob ¶
func (scheduler *Scheduler) TryStartJob(schedulerPlan *common.SchedulerPlan)
执行任务
Source Files ¶
Click to show internal directories.
Click to hide internal directories.