Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
熊鹏飞
/
xxljob220
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
8e07d501
authored
Jul 27, 2017
by
xuxueli
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
心跳注册和结果回调,重试逻辑优化
parent
ff8e43af
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
27 deletions
xxl-job-core/src/main/java/com/xxl/job/core/thread/ExecutorRegistryThread.java
xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java
xxl-job-core/src/main/java/com/xxl/job/core/thread/ExecutorRegistryThread.java
View file @
8e07d501
...
...
@@ -49,25 +49,31 @@ public class ExecutorRegistryThread extends Thread {
@Override
public
void
run
()
{
while
(!
toStop
)
{
try
{
RegistryParam
registryParam
=
new
RegistryParam
(
RegistryConfig
.
RegistType
.
EXECUTOR
.
name
(),
appName
,
executorAddress
);
ReturnT
<
String
>
registryResult
=
null
;
for
(
String
addressUrl:
XxlJobExecutor
.
adminAddresses
.
split
(
","
))
{
String
apiUrl
=
addressUrl
.
concat
(
"/api"
);
AdminBiz
adminBiz
=
(
AdminBiz
)
new
NetComClientProxy
(
AdminBiz
.
class
,
apiUrl
).
getObject
();
registryResult
=
adminBiz
.
registry
(
registryParam
);
if
(
registryResult
!=
null
&&
ReturnT
.
SUCCESS_CODE
==
registryResult
.
getCode
())
{
registryResult
=
ReturnT
.
SUCCESS
;
break
;
try
{
AdminBiz
adminBiz
=
(
AdminBiz
)
new
NetComClientProxy
(
AdminBiz
.
class
,
apiUrl
).
getObject
();
ReturnT
<
String
>
registryResult
=
adminBiz
.
registry
(
registryParam
);
if
(
registryResult
!=
null
&&
ReturnT
.
SUCCESS_CODE
==
registryResult
.
getCode
())
{
registryResult
=
ReturnT
.
SUCCESS
;
logger
.
info
(
">>>>>>>>>>> xxl-job registry success, registryParam:{}, registryResult:{}"
,
new
Object
[]{
registryParam
,
registryResult
});
break
;
}
else
{
logger
.
info
(
">>>>>>>>>>> xxl-job registry fail, registryParam:{}, registryResult:{}"
,
new
Object
[]{
registryParam
,
registryResult
});
}
}
catch
(
Exception
e
)
{
logger
.
info
(
">>>>>>>>>>> xxl-job registry error, registryParam:{}"
,
registryParam
,
e
);
}
}
logger
.
info
(
">>>>>>>>>>> xxl-job Executor registry {}, RegistryParam:{}, registryResult:{}"
,
new
Object
[]{(
registryResult
.
getCode
()==
ReturnT
.
SUCCESS_CODE
?
"success"
:
"fail"
),
registryParam
.
toString
(),
registryResult
.
toString
()});
}
catch
(
Exception
e
)
{
logger
.
error
(
">>>>>>>>>>> xxl-job ExecutorRegistryThread Exception:"
,
e
);
logger
.
error
(
e
.
getMessage
()
,
e
);
}
try
{
...
...
xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java
View file @
8e07d501
...
...
@@ -37,40 +37,40 @@ public class TriggerCallbackThread {
HandleCallbackParam
callback
=
getInstance
().
callBackQueue
.
take
();
if
(
callback
!=
null
)
{
// valid
if
(
XxlJobExecutor
.
adminAddresses
==
null
||
XxlJobExecutor
.
adminAddresses
.
trim
().
length
()==
0
)
{
logger
.
warn
(
">>>>>>>>>>>> xxl-job callback fail, adminAddresses is null."
);
continue
;
}
// callback list param
List
<
HandleCallbackParam
>
callbackParamList
=
new
ArrayList
<
HandleCallbackParam
>();
int
drainToNum
=
getInstance
().
callBackQueue
.
drainTo
(
callbackParamList
);
callbackParamList
.
add
(
callback
);
// callback, will retry if error
try
{
// valid
if
(
XxlJobExecutor
.
adminAddresses
==
null
||
XxlJobExecutor
.
adminAddresses
.
trim
().
length
()==
0
)
{
logger
.
warn
(
">>>>>>>>>>>> xxl-job callback fail, adminAddresses is null, callbackParamList:{}"
,
callbackParamList
);
continue
;
}
ReturnT
<
String
>
callbackResult
=
null
;
for
(
String
addressUrl:
XxlJobExecutor
.
adminAddresses
.
split
(
","
))
{
String
apiUrl
=
addressUrl
.
concat
(
"/api"
);
// callback, will retry if error
for
(
String
addressUrl:
XxlJobExecutor
.
adminAddresses
.
split
(
","
))
{
String
apiUrl
=
addressUrl
.
concat
(
"/api"
);
try
{
AdminBiz
adminBiz
=
(
AdminBiz
)
new
NetComClientProxy
(
AdminBiz
.
class
,
apiUrl
).
getObject
();
callbackResult
=
adminBiz
.
callback
(
callbackParamList
);
ReturnT
<
String
>
callbackResult
=
adminBiz
.
callback
(
callbackParamList
);
if
(
callbackResult
!=
null
&&
ReturnT
.
SUCCESS_CODE
==
callbackResult
.
getCode
())
{
callbackResult
=
ReturnT
.
SUCCESS
;
logger
.
info
(
">>>>>>>>>>> xxl-job callback success, callbackParamList:{}, callbackResult:{}"
,
new
Object
[]{
callbackParamList
,
callbackResult
});
break
;
}
else
{
logger
.
info
(
">>>>>>>>>>> xxl-job callback fail, callbackParamList:{}, callbackResult:{}"
,
new
Object
[]{
callbackParamList
,
callbackResult
});
}
}
catch
(
Exception
e
)
{
logger
.
error
(
">>>>>>>>>>> xxl-job callback error, callbackParamList:{}"
,
callbackParamList
,
e
);
//getInstance().callBackQueue.addAll(callbackParamList);
}
logger
.
info
(
">>>>>>>>>>> xxl-job callback, callbackParamList:{}, callbackResult:{}"
,
new
Object
[]{
callbackParamList
,
callbackResult
});
}
catch
(
Exception
e
)
{
logger
.
error
(
">>>>>>>>>>> xxl-job TriggerCallbackThread Exception:"
,
e
);
//getInstance().callBackQueue.addAll(callbackParamList);
}
}
}
catch
(
Exception
e
)
{
logger
.
error
(
""
,
e
);
logger
.
error
(
e
.
getMessage
()
,
e
);
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment