Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
淡淡忧伤的程序员
DolphinScheduler
提交
552fa5b0
DolphinScheduler
项目概览
淡淡忧伤的程序员
/
DolphinScheduler
与 Fork 源项目一致
Fork自
apache / DolphinScheduler
通知
48
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
DolphinScheduler
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
552fa5b0
编写于
6月 28, 2019
作者:
leon-baoliang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add tenant id in process definition
上级
ef4c36d2
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
69 addition
and
4 deletion
+69
-4
escheduler-api/src/main/java/cn/escheduler/api/service/ProcessDefinitionService.java
...a/cn/escheduler/api/service/ProcessDefinitionService.java
+2
-0
escheduler-api/src/main/java/cn/escheduler/api/service/ProcessInstanceService.java
...ava/cn/escheduler/api/service/ProcessInstanceService.java
+6
-1
escheduler-dao/src/main/java/cn/escheduler/dao/ProcessDao.java
...duler-dao/src/main/java/cn/escheduler/dao/ProcessDao.java
+29
-0
escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessDefinitionMapper.java
...ava/cn/escheduler/dao/mapper/ProcessDefinitionMapper.java
+5
-0
escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessDefinitionMapperProvider.java
...scheduler/dao/mapper/ProcessDefinitionMapperProvider.java
+1
-0
escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapperProvider.java
.../escheduler/dao/mapper/ProcessInstanceMapperProvider.java
+3
-3
escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessData.java
...ao/src/main/java/cn/escheduler/dao/model/ProcessData.java
+10
-0
escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessDefinition.java
.../main/java/cn/escheduler/dao/model/ProcessDefinition.java
+13
-0
未找到文件。
escheduler-api/src/main/java/cn/escheduler/api/service/ProcessDefinitionService.java
浏览文件 @
552fa5b0
...
...
@@ -127,6 +127,7 @@ public class ProcessDefinitionService extends BaseDAGService {
processDefine
.
setLocations
(
locations
);
processDefine
.
setConnects
(
connects
);
processDefine
.
setTimeout
(
processData
.
getTimeout
());
processDefine
.
setTenantId
(
processData
.
getTenantId
());
//custom global params
List
<
Property
>
globalParamsList
=
processData
.
getGlobalParams
();
...
...
@@ -291,6 +292,7 @@ public class ProcessDefinitionService extends BaseDAGService {
processDefine
.
setLocations
(
locations
);
processDefine
.
setConnects
(
connects
);
processDefine
.
setTimeout
(
processData
.
getTimeout
());
processDefine
.
setTenantId
(
processData
.
getTenantId
());
//custom global params
List
<
Property
>
globalParamsList
=
new
ArrayList
<>();
...
...
escheduler-api/src/main/java/cn/escheduler/api/service/ProcessInstanceService.java
浏览文件 @
552fa5b0
...
...
@@ -364,6 +364,7 @@ public class ProcessInstanceService extends BaseDAGService {
String
globalParams
=
null
;
String
originDefParams
=
null
;
int
timeout
=
processInstance
.
getTimeout
();
ProcessDefinition
processDefinition
=
processDao
.
findProcessDefineById
(
processInstance
.
getProcessDefinitionId
());
if
(
StringUtils
.
isNotEmpty
(
processInstanceJson
))
{
ProcessData
processData
=
JSONUtils
.
parseObject
(
processInstanceJson
,
ProcessData
.
class
);
//check workflow json is valid
...
...
@@ -379,6 +380,11 @@ public class ProcessInstanceService extends BaseDAGService {
processInstance
.
getCmdTypeIfComplement
(),
schedule
);
timeout
=
processData
.
getTimeout
();
processInstance
.
setTimeout
(
timeout
);
Tenant
tenant
=
processDao
.
getTenantForProcess
(
processData
.
getTenantId
(),
processDefinition
.
getUserId
());
if
(
tenant
!=
null
){
processInstance
.
setTenantCode
(
tenant
.
getTenantCode
());
}
processInstance
.
setProcessInstanceJson
(
processInstanceJson
);
processInstance
.
setGlobalParams
(
globalParams
);
}
...
...
@@ -387,7 +393,6 @@ public class ProcessInstanceService extends BaseDAGService {
int
update
=
processDao
.
updateProcessInstance
(
processInstance
);
int
updateDefine
=
1
;
if
(
syncDefine
&&
StringUtils
.
isNotEmpty
(
processInstanceJson
))
{
ProcessDefinition
processDefinition
=
processDao
.
findProcessDefineById
(
processInstance
.
getProcessDefinitionId
());
processDefinition
.
setProcessDefinitionJson
(
processInstanceJson
);
processDefinition
.
setGlobalParams
(
originDefParams
);
processDefinition
.
setLocations
(
locations
);
...
...
escheduler-dao/src/main/java/cn/escheduler/dao/ProcessDao.java
浏览文件 @
552fa5b0
...
...
@@ -100,6 +100,9 @@ public class ProcessDao extends AbstractBaseDao {
@Autowired
private
WorkerServerMapper
workerServerMapper
;
@Autowired
private
TenantMapper
tenantMapper
;
/**
* task queue impl
*/
...
...
@@ -127,6 +130,7 @@ public class ProcessDao extends AbstractBaseDao {
workerGroupMapper
=
getMapper
(
WorkerGroupMapper
.
class
);
workerServerMapper
=
getMapper
(
WorkerServerMapper
.
class
);
taskQueue
=
TaskQueueFactory
.
getTaskQueueInstance
();
tenantMapper
=
getMapper
(
TenantMapper
.
class
);
}
...
...
@@ -490,9 +494,34 @@ public class ProcessDao extends AbstractBaseDao {
processInstance
.
setProcessInstancePriority
(
command
.
getProcessInstancePriority
());
processInstance
.
setWorkerGroupId
(
command
.
getWorkerGroupId
());
processInstance
.
setTimeout
(
processDefinition
.
getTimeout
());
Tenant
tenant
=
getTenantForProcess
(
processDefinition
.
getTenantId
(),
processDefinition
.
getUserId
());
if
(
tenant
!=
null
){
processInstance
.
setTenantCode
(
tenant
.
getTenantCode
());
}
return
processInstance
;
}
/**
* get process tenant
* there is tenant id in definition, use the tenant of the definition.
* if there is not tenant id in the definiton or the tenant not exist
* use definition creator's tenant.
* @param tenantId
* @param userId
* @return
*/
public
Tenant
getTenantForProcess
(
int
tenantId
,
int
userId
){
Tenant
tenant
=
null
;
if
(
tenantId
>=
0
){
tenant
=
tenantMapper
.
queryById
(
tenantId
);
}
if
(
tenant
==
null
){
User
user
=
userMapper
.
queryById
(
userId
);
tenant
=
tenantMapper
.
queryById
(
user
.
getTenantId
());
}
return
tenant
;
}
/**
* check command parameters is valid
...
...
escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessDefinitionMapper.java
浏览文件 @
552fa5b0
...
...
@@ -95,6 +95,7 @@ public interface ProcessDefinitionMapper {
@Result
(
property
=
"connects"
,
column
=
"connects"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
),
@Result
(
property
=
"projectName"
,
column
=
"project_name"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
),
@Result
(
property
=
"timeout"
,
column
=
"timeout"
,
javaType
=
Integer
.
class
,
jdbcType
=
JdbcType
.
INTEGER
),
@Result
(
property
=
"tenantId"
,
column
=
"tenant_id"
,
javaType
=
Integer
.
class
,
jdbcType
=
JdbcType
.
INTEGER
),
@Result
(
property
=
"receivers"
,
column
=
"receivers"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
),
@Result
(
property
=
"receiversCc"
,
column
=
"receivers_cc"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
)
...
...
@@ -123,6 +124,7 @@ public interface ProcessDefinitionMapper {
@Result
(
property
=
"locations"
,
column
=
"locations"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
),
@Result
(
property
=
"connects"
,
column
=
"connects"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
),
@Result
(
property
=
"timeout"
,
column
=
"timeout"
,
javaType
=
Integer
.
class
,
jdbcType
=
JdbcType
.
INTEGER
),
@Result
(
property
=
"tenantId"
,
column
=
"tenant_id"
,
javaType
=
Integer
.
class
,
jdbcType
=
JdbcType
.
INTEGER
),
@Result
(
property
=
"projectName"
,
column
=
"project_name"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
)
})
@SelectProvider
(
type
=
ProcessDefinitionMapperProvider
.
class
,
method
=
"queryByDefineName"
)
...
...
@@ -160,6 +162,7 @@ public interface ProcessDefinitionMapper {
@Result
(
property
=
"flag"
,
column
=
"flag"
,
typeHandler
=
EnumOrdinalTypeHandler
.
class
,
javaType
=
Flag
.
class
,
jdbcType
=
JdbcType
.
TINYINT
),
@Result
(
property
=
"userName"
,
column
=
"user_name"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
),
@Result
(
property
=
"timeout"
,
column
=
"timeout"
,
javaType
=
Integer
.
class
,
jdbcType
=
JdbcType
.
INTEGER
),
@Result
(
property
=
"tenantId"
,
column
=
"tenant_id"
,
javaType
=
Integer
.
class
,
jdbcType
=
JdbcType
.
INTEGER
),
@Result
(
property
=
"projectName"
,
column
=
"project_name"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
)
})
@SelectProvider
(
type
=
ProcessDefinitionMapperProvider
.
class
,
method
=
"queryAllDefinitionList"
)
...
...
@@ -187,6 +190,7 @@ public interface ProcessDefinitionMapper {
@Result
(
property
=
"userName"
,
column
=
"user_name"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
),
@Result
(
property
=
"scheduleReleaseState"
,
column
=
"schedule_release_state"
,
typeHandler
=
EnumOrdinalTypeHandler
.
class
,
javaType
=
ReleaseState
.
class
,
jdbcType
=
JdbcType
.
TINYINT
),
@Result
(
property
=
"timeout"
,
column
=
"timeout"
,
javaType
=
Integer
.
class
,
jdbcType
=
JdbcType
.
INTEGER
),
@Result
(
property
=
"tenantId"
,
column
=
"tenant_id"
,
javaType
=
Integer
.
class
,
jdbcType
=
JdbcType
.
INTEGER
),
@Result
(
property
=
"projectName"
,
column
=
"project_name"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
)
})
@SelectProvider
(
type
=
ProcessDefinitionMapperProvider
.
class
,
method
=
"queryDefineListPaging"
)
...
...
@@ -216,6 +220,7 @@ public interface ProcessDefinitionMapper {
@Result
(
property
=
"connects"
,
column
=
"connects"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
),
@Result
(
property
=
"userName"
,
column
=
"user_name"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
),
@Result
(
property
=
"timeout"
,
column
=
"timeout"
,
javaType
=
Integer
.
class
,
jdbcType
=
JdbcType
.
INTEGER
),
@Result
(
property
=
"tenantId"
,
column
=
"tenant_id"
,
javaType
=
Integer
.
class
,
jdbcType
=
JdbcType
.
INTEGER
),
@Result
(
property
=
"projectName"
,
column
=
"project_name"
,
javaType
=
String
.
class
,
jdbcType
=
JdbcType
.
VARCHAR
)
})
@SelectProvider
(
type
=
ProcessDefinitionMapperProvider
.
class
,
method
=
"queryDefinitionListByIdList"
)
...
...
escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessDefinitionMapperProvider.java
浏览文件 @
552fa5b0
...
...
@@ -102,6 +102,7 @@ public class ProcessDefinitionMapperProvider {
SET
(
"`create_time`=#{processDefinition.createTime}"
);
SET
(
"`update_time`=#{processDefinition.updateTime}"
);
SET
(
"`timeout`=#{processDefinition.timeout}"
);
SET
(
"`tenant_id`=#{processDefinition.tenantId}"
);
SET
(
"`flag`="
+
EnumFieldUtil
.
genFieldStr
(
"processDefinition.flag"
,
Flag
.
class
));
SET
(
"`user_id`=#{processDefinition.userId}"
);
...
...
escheduler-dao/src/main/java/cn/escheduler/dao/mapper/ProcessInstanceMapperProvider.java
浏览文件 @
552fa5b0
...
...
@@ -220,11 +220,11 @@ public class ProcessInstanceMapperProvider {
public
String
queryDetailById
(
Map
<
String
,
Object
>
parameter
)
{
return
new
SQL
()
{
{
SELECT
(
"inst.*,q.queue_name as queue,
t.tenant_code,
UNIX_TIMESTAMP(inst.end_time)-UNIX_TIMESTAMP(inst.start_time) as duration"
);
SELECT
(
"inst.*,q.queue_name as queue,UNIX_TIMESTAMP(inst.end_time)-UNIX_TIMESTAMP(inst.start_time) as duration"
);
FROM
(
TABLE_NAME
+
" inst, t_escheduler_user u,t_escheduler_
tenant t,t_escheduler_
queue q"
);
FROM
(
TABLE_NAME
+
" inst, t_escheduler_user u,t_escheduler_queue q"
);
WHERE
(
"inst.executor_id = u.id AND
u.tenant_id = t.id AND
t.queue_id = q.id AND inst.id = #{processId}"
);
WHERE
(
"inst.executor_id = u.id AND t.queue_id = q.id AND inst.id = #{processId}"
);
}
}.
toString
();
}
...
...
escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessData.java
浏览文件 @
552fa5b0
...
...
@@ -39,6 +39,8 @@ public class ProcessData {
private
int
timeout
;
private
int
tenantId
;
public
ProcessData
()
{
}
...
...
@@ -92,4 +94,12 @@ public class ProcessData {
public
void
setTimeout
(
int
timeout
)
{
this
.
timeout
=
timeout
;
}
public
int
getTenantId
()
{
return
tenantId
;
}
public
void
setTenantId
(
int
tenantId
)
{
this
.
tenantId
=
tenantId
;
}
}
escheduler-dao/src/main/java/cn/escheduler/dao/model/ProcessDefinition.java
浏览文件 @
552fa5b0
...
...
@@ -141,6 +141,11 @@ public class ProcessDefinition {
*/
private
int
timeout
;
/**
* tenant id
*/
private
int
tenantId
;
public
String
getName
()
{
return
name
;
...
...
@@ -354,7 +359,15 @@ public class ProcessDefinition {
", receiversCc='"
+
receiversCc
+
'\''
+
", scheduleReleaseState="
+
scheduleReleaseState
+
", timeout="
+
timeout
+
", tenantId="
+
tenantId
+
'}'
;
}
public
int
getTenantId
()
{
return
tenantId
;
}
public
void
setTenantId
(
int
tenantId
)
{
this
.
tenantId
=
tenantId
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录