Browse Source

[fix] Task group queue query all list error (#10237)

Add support query all task queue by not given specific groupId

close: #10102
(cherry picked from commit d8db2b57d2)
3.0.0/version-upgrade
Jiajie Zhong 3 years ago committed by Jiajie Zhong
parent
commit
e663043c91
  1. 17
      dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskGroupController.java
  2. 11
      dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskGroupQueueService.java
  3. 36
      dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupQueueMapper.xml

17
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskGroupController.java

@ -297,14 +297,21 @@ public class TaskGroupController extends BaseController {
/**
* query task group queue list paging
*
* @param loginUser login user
* @param pageNo page number
* @param pageSize page size
* @param groupId ID for task group
* @param taskName Task Name
* @param processName Process instance name
* @param status Task queue status
* @param loginUser login user
* @param pageNo page number
* @param pageSize page size
* @return queue list
*/
@ApiOperation(value = "queryTasksByGroupId", notes = "QUERY_ALL_TASKS_NOTES")
@ApiImplicitParams({
@ApiImplicitParam(name = "groupId", value = "GROUP_ID", required = true, dataType = "Int", example = "1"),
@ApiImplicitParam(name = "groupId", value = "GROUP_ID", required = false, dataType = "Int", example = "1", defaultValue = "-1"),
@ApiImplicitParam(name = "taskInstanceName", value = "TASK_INSTANCE_NAME", required = false, dataType = "String", example = "taskName"),
@ApiImplicitParam(name = "processInstanceName", value = "PROCESS_INSTANCE_NAME", required = false, dataType = "String", example = "processName"),
@ApiImplicitParam(name = "status", value = "STATUS", required = false, dataType = "Int", example = "1"),
@ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
@ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20")
})
@ -313,7 +320,7 @@ public class TaskGroupController extends BaseController {
@ApiException(QUERY_TASK_GROUP_QUEUE_LIST_ERROR)
@AccessLogAnnotation(ignoreRequestArgs = "loginUser")
public Result queryTasksByGroupId(@ApiIgnore @RequestAttribute(value = Constants.SESSION_USER) User loginUser,
@RequestParam("groupId") Integer groupId,
@RequestParam(value = "groupId", required = false, defaultValue = "-1") Integer groupId,
@RequestParam(value = "taskInstanceName",required = false) String taskName,
@RequestParam(value = "processInstanceName",required = false) String processName,
@RequestParam(value = "status",required = false) Integer status,

11
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskGroupQueueService.java

@ -28,10 +28,13 @@ public interface TaskGroupQueueService {
/**
* query tasks in task group queue by group id
* @param loginUser login user
* @param groupId group id
* @param pageNo page no
* @param pageSize page size
* @param loginUser login user
* @param groupId group id
* @param taskName Task Name
* @param processName Process instance name
* @param status Task queue status
* @param pageNo page no
* @param pageSize page size
* @return tasks list
*/

36
dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupQueueMapper.xml

@ -134,22 +134,26 @@
left join t_ds_process_definition p_f on process.process_definition_code = p_f.code
and process.process_definition_version = p_f.version
join t_ds_project as p on p_f.project_code = p.code
where queue.group_id = #{groupId}
<if test="taskName != null and taskName != ''">
and task_name like concat('%', #{taskName}, '%')
</if>
<if test="processName != null and processName != ''">
and process.name like concat('%', #{processName}, '%')
</if>
<if test="status != null">
and queue.status =#{status}
</if>
<if test="projects != null and projects.size() > 0">
and p.code in
<foreach collection="projects" index="index" item="i" open="(" separator="," close=")">
#{i.code}
</foreach>
</if>
<where>
<if test="groupId != null and groupId != -1">
queue.group_id = #{groupId}
</if>
<if test="taskName != null and taskName != ''">
and task_name like concat('%', #{taskName}, '%')
</if>
<if test="processName != null and processName != ''">
and process.name like concat('%', #{processName}, '%')
</if>
<if test="status != null">
and queue.status =#{status}
</if>
<if test="projects != null and projects.size() > 0">
and p.code in
<foreach collection="projects" index="index" item="i" open="(" separator="," close=")">
#{i.code}
</foreach>
</if>
</where>
order by queue.update_time desc
</select>

Loading…
Cancel
Save