Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xxl-job-executor-go
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
屠思豪
xxl-job-executor-go
Commits
265017da
提交
265017da
authored
9月 26, 2025
作者:
mooncake9527
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
c95efefe
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
7 行增加
和
12 行删除
+7
-12
main.go
example/main.go
+1
-1
executor.go
executor.go
+2
-2
middleware.go
middleware.go
+2
-2
task.go
task.go
+2
-7
没有找到文件。
example/main.go
浏览文件 @
265017da
...
@@ -51,7 +51,7 @@ func (l *logger) Error(format string, a ...interface{}) {
...
@@ -51,7 +51,7 @@ func (l *logger) Error(format string, a ...interface{}) {
}
}
// 自定义中间件
// 自定义中间件
func
customMiddleware
(
tf
xxl
.
TaskF
unc
)
xxl
.
TaskFunc
{
func
customMiddleware
(
tf
xxl
.
TaskF
n
)
xxl
.
TaskFn
{
return
func
(
cxt
context
.
Context
,
param
*
xxl
.
RunReq
)
string
{
return
func
(
cxt
context
.
Context
,
param
*
xxl
.
RunReq
)
string
{
log
.
Println
(
"I am a middleware start"
)
log
.
Println
(
"I am a middleware start"
)
res
:=
tf
(
cxt
,
param
)
res
:=
tf
(
cxt
,
param
)
...
...
executor.go
浏览文件 @
265017da
...
@@ -23,7 +23,7 @@ type Executor interface {
...
@@ -23,7 +23,7 @@ type Executor interface {
// Use 使用中间件
// Use 使用中间件
Use
(
middlewares
...
Middleware
)
Use
(
middlewares
...
Middleware
)
// RegTask 注册任务
// RegTask 注册任务
RegTask
(
pattern
string
,
task
TaskF
unc
)
RegTask
(
pattern
string
,
task
TaskF
n
)
// RunTask 运行任务
// RunTask 运行任务
RunTask
(
writer
http
.
ResponseWriter
,
request
*
http
.
Request
)
RunTask
(
writer
http
.
ResponseWriter
,
request
*
http
.
Request
)
// KillTask 杀死任务
// KillTask 杀死任务
...
@@ -119,7 +119,7 @@ func (e *executor) Stop() {
...
@@ -119,7 +119,7 @@ func (e *executor) Stop() {
}
}
// RegTask 注册任务
// RegTask 注册任务
func
(
e
*
executor
)
RegTask
(
pattern
string
,
task
TaskF
unc
)
{
func
(
e
*
executor
)
RegTask
(
pattern
string
,
task
TaskF
n
)
{
var
t
=
&
Task
{}
var
t
=
&
Task
{}
t
.
fn
=
e
.
chain
(
task
)
t
.
fn
=
e
.
chain
(
task
)
e
.
regList
.
Set
(
pattern
,
t
)
e
.
regList
.
Set
(
pattern
,
t
)
...
...
middleware.go
浏览文件 @
265017da
package
xxl
package
xxl
// Middleware 中间件构造函数
// Middleware 中间件构造函数
type
Middleware
func
(
TaskF
unc
)
TaskFunc
type
Middleware
func
(
TaskF
n
)
TaskFn
func
(
e
*
executor
)
chain
(
next
TaskF
unc
)
TaskFunc
{
func
(
e
*
executor
)
chain
(
next
TaskF
n
)
TaskFn
{
for
i
:=
range
e
.
middlewares
{
for
i
:=
range
e
.
middlewares
{
next
=
e
.
middlewares
[
len
(
e
.
middlewares
)
-
1
-
i
](
next
)
next
=
e
.
middlewares
[
len
(
e
.
middlewares
)
-
1
-
i
](
next
)
}
}
...
...
task.go
浏览文件 @
265017da
...
@@ -6,16 +6,14 @@ import (
...
@@ -6,16 +6,14 @@ import (
"runtime/debug"
"runtime/debug"
)
)
// TaskFunc 任务执行函数
type
TaskFn
func
(
ctx
context
.
Context
,
param
*
RunReq
)
string
type
TaskFunc
func
(
cxt
context
.
Context
,
param
*
RunReq
)
string
// Task 任务
type
Task
struct
{
type
Task
struct
{
Id
int64
Id
int64
Name
string
Name
string
Ext
context
.
Context
Ext
context
.
Context
Param
*
RunReq
Param
*
RunReq
fn
TaskF
unc
fn
TaskF
n
Cancel
context
.
CancelFunc
Cancel
context
.
CancelFunc
StartTime
int64
StartTime
int64
EndTime
int64
EndTime
int64
...
@@ -23,7 +21,6 @@ type Task struct {
...
@@ -23,7 +21,6 @@ type Task struct {
log
Logger
log
Logger
}
}
// Run 运行任务
func
(
t
*
Task
)
Run
(
callback
func
(
code
int64
,
msg
string
))
{
func
(
t
*
Task
)
Run
(
callback
func
(
code
int64
,
msg
string
))
{
defer
func
(
cancel
func
())
{
defer
func
(
cancel
func
())
{
if
err
:=
recover
();
err
!=
nil
{
if
err
:=
recover
();
err
!=
nil
{
...
@@ -35,10 +32,8 @@ func (t *Task) Run(callback func(code int64, msg string)) {
...
@@ -35,10 +32,8 @@ func (t *Task) Run(callback func(code int64, msg string)) {
}(
t
.
Cancel
)
}(
t
.
Cancel
)
msg
:=
t
.
fn
(
t
.
Ext
,
t
.
Param
)
msg
:=
t
.
fn
(
t
.
Ext
,
t
.
Param
)
callback
(
SuccessCode
,
msg
)
callback
(
SuccessCode
,
msg
)
return
}
}
// Info 任务信息
func
(
t
*
Task
)
Info
()
string
{
func
(
t
*
Task
)
Info
()
string
{
return
fmt
.
Sprintf
(
"任务ID[%d]任务名称[%s]参数:%s"
,
t
.
Id
,
t
.
Name
,
t
.
Param
.
ExecutorParams
)
return
fmt
.
Sprintf
(
"任务ID[%d]任务名称[%s]参数:%s"
,
t
.
Id
,
t
.
Name
,
t
.
Param
.
ExecutorParams
)
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论