Documentation
¶
Index ¶
- Variables
- func FormatTimeToCronTab(t time.Time) (cronExpr string)
- func Int64ToStr(i int64) string
- func StrToInt64(str string) int64
- type AddJobInfo
- type ExecuteResult
- type Executor
- type ExecutorBlockStrategy
- type ExecutorRouteStrategyType
- type LogFunc
- type LogHandler
- type LogReq
- type LogRes
- type LogResContent
- type Logger
- type Option
- type Options
- type Registry
- type RespAddJob
- type RunReq
- type Task
- type TaskFunc
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DefaultExecutorPort = "9999" DefaultRegistryKey = "golang-jobs" )
Functions ¶
func FormatTimeToCronTab ¶ added in v1.0.2
Types ¶
type AddJobInfo ¶
type AddJobInfo struct {
JobGroupID int `json:"jobGroup"` //任务组id
JobDesc string `json:"jobDesc"` //任务描述
ExecutorRouteStrategy ExecutorRouteStrategyType `json:"executorRouteStrategy"` //执行策略
CronGenDisplay string `json:"cronGen_display"` //crontab表达式
JobCron string `json:"jobCron"` //crontab表达式
ChildJobId string `json:"childJobId"` //子任务id
Author string `json:"author"` //责任人
AlarmEmail string `json:"alarmEmail"` //提醒邮件
ExecutorHandler string `json:"executorHandler"` //任务标识
ExecutorParams string `json:"executorParam"` // 任务参数
ExecutorBlockStrategy ExecutorBlockStrategy `json:"executorBlockStrategy"` // 任务阻塞策略
ExecutorTimeout int64 `json:"executorTimeout"` // 任务超时时间,单位秒,大于零时生效
ExecutorFailRetryCount int64 `json:"executorFailRetryCount"` // 任务超时重试次数
GlueType string `json:"glueType"` // 任务模式,可选值参考 com.xxl.job.core.glue.GlueTypeEnum
GlueSource string `json:"glueSource"` // GLUE脚本代码
GlueRemark string `json:"glueRemark"` // GLUE脚本标注
}
{
"jobGroup": 45,
"jobDesc": "测试02addInfo03",
"executorRouteStrategy": "FIRST",
"cronGen_display": "*/20 * * * * ?",
"jobCron": "*/20 * * * * ?",
"glueType": "BEAN",
"executorHandler": "xsd-task.test3",
"executorBlockStrategy": "SERIAL_EXECUTION",
"childJobId": "",
"executorTimeout": 0,
"executorFailRetryCount": 0,
"author": "孔振龙",
"alarmEmail": "",
"executorParam": "{\"id\":99}",
"glueRemark": "GLUE代码初始化",
"glueSource": ""
}
type ExecuteResult ¶
type ExecuteResult struct {
Code int64 `json:"code"`
Msg interface{} `json:"msg"`
}
任务执行结果 200 表示任务执行正常,500表示失败
type Executor ¶
type Executor interface {
//初始化
Init(...Option)
//日志查询
LogHandler(handler LogHandler)
//注册任务
RegTask(pattern string, task TaskFunc)
//运行任务
RunTask(writer http.ResponseWriter, request *http.Request)
//杀死任务
KillTask(writer http.ResponseWriter, request *http.Request)
//任务日志
TaskLog(writer http.ResponseWriter, request *http.Request)
//运行服务
Run() error
//动态增加一个任务
AddJob(taskInfo AddJobInfo) ([]byte, error)
}
执行器
type ExecutorBlockStrategy ¶ added in v1.0.2
type ExecutorBlockStrategy string
阻塞处理策略
const ( SerialExecutionBlockStrategy ExecutorBlockStrategy = "SERIAL_EXECUTION" //单机串行 DiscardLaterBlockStrategy ExecutorBlockStrategy = "DISCARD_LATER" //丢弃后续调度 CoverEarlyBlockStrategy ExecutorBlockStrategy = "COVER_EARLY" //覆盖之前调度 )
type ExecutorRouteStrategyType ¶
type ExecutorRouteStrategyType string
const ( //第一个 FirstExecutorRouteStrategyType ExecutorRouteStrategyType = "FIRST" //最后一个 LastExecutorRouteStrategyType ExecutorRouteStrategyType = "LAST" //轮询 RoundExecutorRouteStrategyType ExecutorRouteStrategyType = "ROUND" //随机 RANDOMExecutorRouteStrategyType ExecutorRouteStrategyType = "RANDOM" //一致性HASH CONSISTENTHASHExecutorRouteStrategyType ExecutorRouteStrategyType = "CONSISTENT_HASH" //最不经常使用 LeastFrequentlyUsedExecutorRouteStrategyType ExecutorRouteStrategyType = "LEAST_FREQUENTLY_USED" //最近最久未使用 LeastRecentlyUsedExecutorRouteStrategyType ExecutorRouteStrategyType = "LEAST_RECENTLY_USED" //故障转移 FailOverExecutorRouteStrategyType ExecutorRouteStrategyType = "FAILOVER" //忙碌转移 BusyOverExecutorRouteStrategyType ExecutorRouteStrategyType = "BUSYOVER" //分片广播 ShardingBroadcastExecutorRouteStrategyType ExecutorRouteStrategyType = "SHARDING_BROADCAST" )
type LogHandler ¶
type LogReq ¶
type LogReq struct {
LogDateTim int64 `json:"logDateTim"` // 本次调度日志时间
LogID int64 `json:"logId"` // 本次调度日志ID
FromLineNum int `json:"fromLineNum"` // 日志开始行号,滚动加载日志
}
日志请求
type LogRes ¶
type LogRes struct {
Code int64 `json:"code"` // 200 表示正常、其他失败
Msg string `json:"msg"` // 错误提示消息
Content LogResContent `json:"content"` // 日志响应内容
}
日志响应
type LogResContent ¶
type LogResContent struct {
FromLineNum int `json:"fromLineNum"` // 本次请求,日志开始行数
ToLineNum int `json:"toLineNum"` // 本次请求,日志结束行号
LogContent string `json:"logContent"` // 本次请求日志内容
IsEnd bool `json:"isEnd"` // 日志是否全部加载完
}
日志响应内容
type Logger ¶
type Logger interface {
Info(format string, a ...interface{})
Error(format string, a ...interface{})
}
系统日志
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"` //日志目录
// contains filtered or unexported fields
}
type Registry ¶
type Registry struct {
RegistryGroup string `json:"registryGroup"`
RegistryKey string `json:"registryKey"`
RegistryValue string `json:"registryValue"`
AccessToken string `json:"accessToken"`
}
注册参数
type RespAddJob ¶ added in v1.0.2
type RespAddJob struct {
Code int `json:"code"`
Msg string `json:"msg"`
Content string `json:"content"`
}
"code": 200, "msg": null, "content": null
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"` // 分片参数:总分片
}
触发任务请求参数
Source Files
¶
Click to show internal directories.
Click to hide internal directories.