Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
byit-myth-job
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
liyuan
byit-myth-job
Commits
379551a0
Commit
379551a0
authored
Mar 11, 2020
by
huangfusuper
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
虚节点扫描线程重构
parent
06a71f39
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
72 additions
and
0 deletions
+72
-0
VirtualNodeThreadRunHelper.java
...va/com/byit/thread/helper/VirtualNodeThreadRunHelper.java
+72
-0
No files found.
byit-myth-core/myth-admin-core/src/main/java/com/byit/thread/helper/VirtualNodeThreadRunHelper.java
0 → 100644
View file @
379551a0
package
com
.
byit
.
thread
.
helper
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.byit.enums.RunRecordingEnum
;
import
com.byit.model.JobTaskRunLog
;
import
com.byit.model.RunRecording
;
import
com.byit.service.JobTaskRunLogService
;
import
com.byit.service.RunRecordingService
;
import
com.byit.thread.BaseThreadRunHelper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
javax.sql.DataSource
;
import
java.util.Date
;
import
java.util.List
;
/**
* 日志的虚节点扫描
* 作用:扫描虚节点,去运行记录查询此虚节点对应的功能流是否已经完成
* @author huangfu
*/
@Component
@Slf4j
public
class
VirtualNodeThreadRunHelper
extends
BaseThreadRunHelper
{
private
static
final
String
LOCK_NAME
=
"log_virtual_node_lock"
;
private
final
DataSource
dataSource
;
private
final
RunRecordingService
runRecordingService
;
private
final
JobTaskRunLogService
jobTaskRunLogService
;
public
VirtualNodeThreadRunHelper
(
DataSource
dataSource
,
RunRecordingService
runRecordingService
,
JobTaskRunLogService
jobTaskRunLogService
)
{
this
.
dataSource
=
dataSource
;
this
.
runRecordingService
=
runRecordingService
;
this
.
jobTaskRunLogService
=
jobTaskRunLogService
;
}
@Override
public
Long
start
()
{
//查询日志表没有完结的虚拟节点
List
<
JobTaskRunLog
>
notEndVirtualNodes
=
jobTaskRunLogService
.
findNotEndVirtualNode
(
);
if
(
CollectionUtil
.
isNotEmpty
(
notEndVirtualNodes
)){
notEndVirtualNodes
.
forEach
(
notEndVirtualNode
->{
log
.
debug
(
"------------【开始查询虚拟节点的执行情况】----------------"
);
//根据运行标识和工作流id查询运行日志
RunRecording
runRecordingByFlowIdAndRunId
=
runRecordingService
.
findRunRecordingByFlowIdAndRunId
(
notEndVirtualNode
.
getMapFlowId
(
),
notEndVirtualNode
.
getRunId
());
//判断当前的工作流是否已经完结
if
(
runRecordingByFlowIdAndRunId
!=
null
&&
RunRecordingEnum
.
FLOW_STATUS_IS_END
.
getCode
().
equals
(
runRecordingByFlowIdAndRunId
.
getFlowStatus
())){
log
.
debug
(
"------------【查询到有已经完成的虚拟节点修改日志】----------------"
);
notEndVirtualNode
.
setRunCode
(
runRecordingByFlowIdAndRunId
.
getFlowRunResult
());
notEndVirtualNode
.
setEndTime
(
new
Date
());
//修改日志信息 改为成功或者失败
jobTaskRunLogService
.
updateJobTaskRunLog
(
notEndVirtualNode
);
}
});
}
else
{
return
UNIVERSAL_WAIT_TIME
;
}
return
NOT_WAIT_TIME
;
}
@Override
public
DataSource
getDataSource
()
{
return
dataSource
;
}
@Override
public
String
getLockName
()
{
return
LOCK_NAME
;
}
}
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