Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
middleware-automatic
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
shenjunjie
middleware-automatic
Commits
7cd9c41b
Commit
7cd9c41b
authored
May 16, 2023
by
liuyu
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature' into 'release'
2023年05/16 线程池配置 See merge request
!32
parents
229d039e
5f8b3d5a
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
19 additions
and
15 deletions
+19
-15
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/config/TaskPoolConfig.java
+6
-6
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/task/holder/TaskServiceHandler.java
+5
-3
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/task/service/TaskService.java
+3
-1
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/task/service/TaskServiceCommon.java
+3
-2
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/task/service/TaskServiceTemplate.java
+2
-3
No files found.
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/config/TaskPoolConfig.java
View file @
7cd9c41b
...
...
@@ -15,15 +15,15 @@ public class TaskPoolConfig {
public
ThreadPoolTaskExecutor
autMarkExecutor
()
{
ThreadPoolTaskExecutor
executor
=
new
ThreadPoolTaskExecutor
();
// 配置核心线程数
executor
.
setCorePoolSize
(
15
);
executor
.
setCorePoolSize
(
32
);
// 配置最大线程数
executor
.
setMaxPoolSize
(
25
);
executor
.
setMaxPoolSize
(
32
);
// 配置线程池中的线程的名称前缀
executor
.
setThreadNamePrefix
(
"autoMark-executor-"
);
executor
.
setQueueCapacity
(
5
0
);
executor
.
setQueueCapacity
(
200
0
);
// rejection-policy:当pool已经达到max size的时候,如何处理新任务
// CALLER_RUNS:不在新线程中执行任务,而是有调用者所在的线程来执行
executor
.
setRejectedExecutionHandler
(
new
ThreadPoolExecutor
.
CallerRuns
Policy
());
executor
.
setRejectedExecutionHandler
(
new
ThreadPoolExecutor
.
Abort
Policy
());
// 执行初始化
executor
.
initialize
();
return
executor
;
...
...
@@ -31,7 +31,7 @@ public class TaskPoolConfig {
@Bean
(
"templateExecutor"
)
public
ThreadPoolExecutorTimeout
templateExecutor
()
{
return
new
ThreadPoolExecutorTimeout
(
1000L
*
60
*
30
,
10
,
20
,
10000L
,
TimeUnit
.
MILLISECONDS
,
1
00
,
"模板任务线程池"
);
return
new
ThreadPoolExecutorTimeout
(
1000L
*
60
*
30
,
32
,
32
,
10000L
,
TimeUnit
.
MILLISECONDS
,
2
00
,
"模板任务线程池"
);
}
}
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/task/holder/TaskServiceHandler.java
View file @
7cd9c41b
...
...
@@ -33,10 +33,12 @@ public class TaskServiceHandler {
for
(
TaskService
taskService
:
SERVICE_LIST
)
{
TaskType
taskType
=
taskService
.
supports
(
autoTask
.
getType
());
if
(
Objects
.
nonNull
(
taskType
))
{
if
(
taskService
.
thresholdWarn
())
{
log
.
error
(
"任务类型:{},当前运行任务已到达最大核心数"
,
autoTask
.
getType
());
}
try
{
taskService
.
runTask
(
autoTask
);
taskService
.
executorStatus
();
}
catch
(
Exception
e
)
{
log
.
error
(
"任务类型:{},执行异常:"
,
taskType
.
getType
(),
e
);
}
return
taskType
.
getCacheId
();
}
}
...
...
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/task/service/TaskService.java
View file @
7cd9c41b
...
...
@@ -6,6 +6,8 @@ import com.zhiwei.middleware.automatic.server.pojo.enums.TaskType;
public
interface
TaskService
{
String
executorLog
=
"name:{}任务线程池信息:当前活跃线程{},队列长度:{}"
;
/**
* 任务类型匹配
* @return 名字
...
...
@@ -22,5 +24,5 @@ public interface TaskService {
* 任务运行阈值预警
* @return 是否进行预警
*/
boolean
thresholdWarn
();
void
executorStatus
();
}
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/task/service/TaskServiceCommon.java
View file @
7cd9c41b
...
...
@@ -81,8 +81,9 @@ public class TaskServiceCommon extends BaseTaskTypePair<TaskServiceCommon.TaskCo
}
@Override
public
boolean
thresholdWarn
()
{
return
autoMarkExecutor
.
getActiveCount
()
==
autoMarkExecutor
.
getCorePoolSize
();
public
void
executorStatus
()
{
log
.
info
(
executorLog
,
"自动标注"
,
autoMarkExecutor
.
getThreadPoolExecutor
().
getActiveCount
(),
autoMarkExecutor
.
getThreadPoolExecutor
().
getQueue
().
size
());
}
/**
...
...
middleware-automatic-center-son/src/main/java/com/zhiwei/middleware/automatic/son/task/service/TaskServiceTemplate.java
View file @
7cd9c41b
...
...
@@ -90,9 +90,8 @@ public class TaskServiceTemplate extends BaseTaskTypePair<TaskServiceTemplate.Ta
}
@Override
public
boolean
thresholdWarn
()
{
// return executor.getActiveCount() == executor.getCorePoolSize();
return
false
;
public
void
executorStatus
()
{
log
.
info
(
executorLog
,
"模板聚合"
,
executor
.
getActiveCount
(),
executor
.
getQueue
().
size
());
}
private
void
templateRecordClean
(
AutoTask
autoTask
)
{
...
...
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