Documentation
¶
Index ¶
- Constants
- Variables
- func Int64ToStr(i int64) string
- func StrToInt64(s string) (int64, error)
- type AddJob
- type AddJobResp
- type Auth
- type AuthImpl
- type DeleteJob
- type ExecuteResult
- type Executor
- type ExecutorBlockStrategy
- type ExecutorRouteStrategy
- type Job
- type JobImpl
- type JobInfo
- type JobList
- type LogFunc
- type LogHandler
- type LogReq
- type LogRes
- type LogResContent
- type Logger
- type MisfireStrategy
- type Option
- func AccessToken(token string) Option
- func ExecutorIp(ip string) Option
- func ExecutorPort(port string) Option
- func RegistryKey(registryKey string) Option
- func ServerAddr(addr string) Option
- func SetConcurrentExecute(concurrentExecute bool) Option
- func SetHandlerMap(m map[string]TaskFunc) Option
- func SetLogger(l Logger) Option
- func SetStorage(storage Storager) Option
- type Options
- type QueryJob
- type Registry
- type RunJob
- type RunReq
- type ScheduleType
- type SessionStorage
- func (s *SessionStorage) Del(key string)
- func (s *SessionStorage) Exists(key string) bool
- func (s *SessionStorage) Get(taskName string) *Storage
- func (s *SessionStorage) GetAll() map[string]*Storage
- func (s *SessionStorage) Len() int
- func (s *SessionStorage) Set(taskName, handleName string, jobId, expireAt int64)
- type Storage
- type Storager
- type Task
- type TaskFunc
- type TriggerStatus
Constants ¶
View Source
const ( SuccessCode = 200 FailureCode = 500 )
响应码
View Source
const ( First ExecutorRouteStrategy = "FIRST" // 第一个 Last ExecutorBlockStrategy = "LAST" // 最后一个 Round ExecutorBlockStrategy = "ROUND" // 轮询 Random ExecutorRouteStrategy = "RANDOM" // 随机 )
View Source
const (
Persistence = -1
)
Variables ¶
View Source
var ( AddJobErr = errors.New("add job failed") QueryJobErr = errors.New("query job failed") DelJobErr = errors.New("delete job failed") RunJobErr = errors.New("run job failed") )
View Source
var ( DefaultExecutorPort = "9999" DefaultRegistryKey = "golang-jobs" )
View Source
var LoginErr = errors.New("login failed")
Functions ¶
Types ¶
type AddJob ¶
type AddJob struct { JobGroup int64 `json:"jobGroup"` // 执行器ID JobDesc string `json:"jobDesc"` // 任务描述 Author string `json:"author"` // 作者 TriggerStatus int32 `json:"triggerStatus"` // 任务状态 AlarmEmail string `json:"alarmEmail"` // 多个邮件使用逗号分隔 ScheduleType string `json:"scheduleType"` // 调度类型, CRON 定时, FIX_RATE 固定速率 ScheduleConf string `json:"scheduleConf"` // 必传 ScheduleConfCron string `json:"schedule_conf_CRON"` // 不清楚该字段功能 CronGenDisplay string `json:"cronGen_display"` // CRON类型, 与scheduleConf一致, 否则不传 ScheduleConfFixDelay string `json:"schedule_conf_FIX_DELAY"` // 不清楚该字段功能 ScheduleConfFixRate string `json:"schedule_conf_FIX_RATE"` // FIX_RATE类型, 与scheduleConf一致, 否则不传 GlueType string `json:"glueType"` // 运行模式, BEAN ExecutorHandler string `json:"executorHandler"` // JobHandler, 任务名 ExecutorParam string `json:"executorParam"` // 执行参数 ExecutorRouteStrategy string `json:"executorRouteStrategy"` // 路由策略, ROUND 轮询, FIRST 第一个, LAST 最后一个 ChildJobId string `json:"childJobId"` // 子任务ID, 做个任务使用逗号隔开 MisfireStrategy string `json:"misfireStrategy"` // 调度过期策略, DO_NOTHING 忽略, FIRE_ONCE_NOW 立即执行一次 ExecutorBlockStrategy string `json:"executorBlockStrategy"` // 阻塞处理策略, SERIAL_EXECUTION 串行, DISCARD_LATER 丢弃后续调度, COVER_EARLY 覆盖之前调度 ExecutorTimeout int64 `json:"executorTimeout"` // 执行超时时间, 单位: s ExecutorFailRetryCount int32 `json:"executorFailRetryCount"` // 失败重试次数 GlueRemark string `json:"glueRemark"` // 值为: GLUE代码初始化 GlueSource string `json:"glueSource"` // 源码 }
type AddJobResp ¶
type AuthImpl ¶
type AuthImpl struct { Addr string UserName string Password string // contains filtered or unexported fields }
func (*AuthImpl) CronReplaceCookie ¶ added in v1.1.6
type ExecuteResult ¶
type ExecuteResult struct { Code int64 `json:"code"` Msg interface{} `json:"msg"` }
ExecuteResult 任务执行结果 200 表示任务执行正常,500表示失败
type Executor ¶
type Executor interface { // Init 初始化 Init(...Option) // LogHandler 日志查询 LogHandler(handler LogHandler) // RegTaskNoStorage 注册任务到内存 RegTaskNoStorage(pattern string) // RegTempTask 注册临时性任务 RegTempTask(pattern string, handlerName string, jobId, expireAt int64) // RegPersistenceTask 注册任务 RegPersistenceTask(pattern, handlerName string, jobId int64) // RunTask 运行任务 RunTask(writer http.ResponseWriter, request *http.Request) // KillTask 杀死任务 KillTask(writer http.ResponseWriter, request *http.Request) // TaskLog 任务日志 TaskLog(writer http.ResponseWriter, request *http.Request) // Beat 心跳检测 Beat(writer http.ResponseWriter, request *http.Request) // IdleBeat 忙碌检测 IdleBeat(writer http.ResponseWriter, request *http.Request) // Run 运行服务 Run() error // Stop 停止服务 Stop() }
Executor 执行器
type ExecutorBlockStrategy ¶ added in v1.1.8
type ExecutorBlockStrategy string
const ( SerialExecution ExecutorBlockStrategy = "SERIAL_EXECUTION" // 串行 DiscardLater ExecutorBlockStrategy = "DISCARD_LATER" // 丢弃后续调度 CoverEarly ExecutorBlockStrategy = "COVER_EARLY" // 覆盖之前调度 )
type ExecutorRouteStrategy ¶ added in v1.1.8
type ExecutorRouteStrategy string
type Job ¶
type Job interface { // Add 添加任务 Add(ctx context.Context, req *AddJob) (int64, error) // QueryJobList 查询JobInfo QueryJobList(ctx context.Context, req *QueryJob) (*JobList, error) // RemoveJob 移除任务 RemoveJob(ctx context.Context, req *DeleteJob) error // RunJob 运行任务 RunJob(ctx context.Context, jobId int64) error }
type JobImpl ¶
type JobImpl struct {
// contains filtered or unexported fields
}
func (*JobImpl) QueryJobList ¶
QueryJobList 查询JobInfo
type JobInfo ¶
type JobInfo struct { Id int `json:"id"` JobGroup int `json:"jobGroup"` JobDesc string `json:"jobDesc"` AddTime time.Time `json:"addTime"` UpdateTime time.Time `json:"updateTime"` Author string `json:"author"` AlarmEmail string `json:"alarmEmail"` ScheduleType string `json:"scheduleType"` ScheduleConf string `json:"scheduleConf"` MisfireStrategy string `json:"misfireStrategy"` ExecutorRouteStrategy string `json:"executorRouteStrategy"` ExecutorHandler string `json:"executorHandler"` ExecutorParam string `json:"executorParam"` ExecutorBlockStrategy string `json:"executorBlockStrategy"` ExecutorTimeout int `json:"executorTimeout"` ExecutorFailRetryCount int `json:"executorFailRetryCount"` GlueType string `json:"glueType"` GlueSource string `json:"glueSource"` GlueRemark string `json:"glueRemark"` GlueUpdatetime time.Time `json:"glueUpdatetime"` ChildJobId string `json:"childJobId"` TriggerStatus int `json:"triggerStatus"` TriggerLastTime int `json:"triggerLastTime"` TriggerNextTime int `json:"triggerNextTime"` }
type LogHandler ¶
type LogReq ¶
type LogReq struct { LogDateTim int64 `json:"logDateTim"` // 本次调度日志时间 LogID int64 `json:"logId"` // 本次调度日志ID FromLineNum int `json:"fromLineNum"` // 日志开始行号,滚动加载日志 }
LogReq 日志请求
type LogRes ¶
type LogRes struct { Code int64 `json:"code"` // 200 表示正常、其他失败 Msg string `json:"msg"` // 错误提示消息 Content LogResContent `json:"content"` // 日志响应内容 }
LogRes 日志响应
type LogResContent ¶
type LogResContent struct { FromLineNum int `json:"fromLineNum"` // 本次请求,日志开始行数 ToLineNum int `json:"toLineNum"` // 本次请求,日志结束行号 LogContent string `json:"logContent"` // 本次请求日志内容 IsEnd bool `json:"isEnd"` // 日志是否全部加载完 }
LogResContent 日志响应内容
type Logger ¶
type Logger interface { Debug(format string, a ...interface{}) Info(format string, a ...interface{}) Error(format string, a ...interface{}) }
Logger 系统日志
type MisfireStrategy ¶ added in v1.1.8
type MisfireStrategy string
const ( DoNothing MisfireStrategy = "DO_NOTHING" // 什么都不做 FireOnceNow MisfireStrategy = "FIRE_ONCE_NOW" // 立即执行 )
type Option ¶
type Option func(o *Options)
func SetConcurrentExecute ¶ added in v1.2.3
SetConcurrentExecute 设置是否并发执行
type Options ¶
type Options struct { ServerAddr string `json:"server_addr"` //调度中心地址 AccessToken string `json:"access_token"` //请求令牌 Timeout time.Duration `json:"timeout"` //接口超时时间 ExecutorIp string `json:"executor_ip"` //本地(执行器)IP(可自行获取) ExecutorPort string `json:"executor_port"` //本地(执行器)端口 RegistryKey string `json:"registry_key"` //执行器名称 LogDir string `json:"log_dir"` //日志目录 Storage Storager // 任务存储 HandlerMap map[string]TaskFunc // 任务函数 ConcurrentExecute bool // 是否并发执行 // contains filtered or unexported fields }
func (*Options) GetRunningTaskId ¶ added in v1.2.3
GetRunningTaskId 生成运行任务ID
type QueryJob ¶
type QueryJob struct { JobGroup int64 `json:"jobGroup"` // 执行器ID TriggerStatus int32 `json:"triggerStatus"` // 直接使用-1 JobDesc string `json:"jobDesc"` // 任务描述 ExecutorHandler string `json:"executorHandler"` // 任务名 Author string `json:"author"` // 作者 Start int32 `json:"start"` // 偏移量, 默认是0 Length int32 `json:"length"` // 每页数量 }
type Registry ¶
type Registry struct { RegistryGroup string `json:"registryGroup"` RegistryKey string `json:"registryKey"` RegistryValue string `json:"registryValue"` }
Registry 注册参数
type RunReq ¶
type RunReq struct { JobID int64 `json:"jobId"` // 任务ID ExecutorHandler string `json:"executorHandler"` // 任务标识 ExecutorParams string `json:"executorParams"` // 任务参数 ExecutorBlockStrategy string `json:"executorBlockStrategy"` // 任务阻塞策略 ExecutorTimeout int64 `json:"executorTimeout"` // 任务超时时间,单位秒,大于零时生效 LogID int64 `json:"logId"` // 本次调度日志ID LogDateTime int64 `json:"logDateTime"` // 本次调度日志时间 GlueType string `json:"glueType"` // 任务模式,可选值参考 com.xxl.job.core.glue.GlueTypeEnum GlueSource string `json:"glueSource"` // GLUE脚本代码 GlueUpdatetime int64 `json:"glueUpdatetime"` // GLUE脚本更新时间,用于判定脚本是否变更以及是否需要刷新 BroadcastIndex int64 `json:"broadcastIndex"` // 分片参数:当前分片 BroadcastTotal int64 `json:"broadcastTotal"` // 分片参数:总分片 }
RunReq 触发任务请求参数
type ScheduleType ¶ added in v1.1.8
type ScheduleType string
const ( FixRate ScheduleType = "FIX_RATE" Cron ScheduleType = "CRON" )
type SessionStorage ¶
type SessionStorage struct {
// contains filtered or unexported fields
}
func NewSessionStorage ¶
func NewSessionStorage() *SessionStorage
func (*SessionStorage) Del ¶
func (s *SessionStorage) Del(key string)
func (*SessionStorage) Exists ¶
func (s *SessionStorage) Exists(key string) bool
func (*SessionStorage) Get ¶
func (s *SessionStorage) Get(taskName string) *Storage
func (*SessionStorage) GetAll ¶
func (s *SessionStorage) GetAll() map[string]*Storage
func (*SessionStorage) Len ¶
func (s *SessionStorage) Len() int
func (*SessionStorage) Set ¶
func (s *SessionStorage) Set(taskName, handleName string, jobId, expireAt int64)
type Task ¶
type Task struct { Id int64 Name string Ext context.Context Param *RunReq Cancel context.CancelFunc StartTime int64 EndTime int64 LogID int64 // contains filtered or unexported fields }
Task 任务
type TriggerStatus ¶ added in v1.1.8
type TriggerStatus int32
const ( Total TriggerStatus = -1 // 全部 Stop TriggerStatus = 0 // 停止 Running TriggerStatus = 1 // 运行 )
Click to show internal directories.
Click to hide internal directories.