Commit 1ea36679 authored by baoliang's avatar baoliang
Browse files

add time out for process definition.

parent a32b48aa
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -125,6 +125,7 @@ public class ProcessDefinitionService extends BaseDAGService {
        processDefine.setDesc(desc);
        processDefine.setLocations(locations);
        processDefine.setConnects(connects);
        processDefine.setTimeout(processData.getTimeout());

        //custom global params
        List<Property> globalParamsList = processData.getGlobalParams();
+5 −0
Original line number Diff line number Diff line
@@ -331,6 +331,11 @@ public final class Constants {
     */
    public static final int MAX_TASK_TIMEOUT = 24 * 3600;

    /**
     * max task timeout
     */
    public static final int MAX_PROCESS_TIMEOUT = Integer.MAX_VALUE;


    /**
     * heartbeat threads number
+1 −0
Original line number Diff line number Diff line
@@ -482,6 +482,7 @@ public class ProcessDao extends AbstractBaseDao {
        // set process instance priority
        processInstance.setProcessInstancePriority(command.getProcessInstancePriority());
        processInstance.setWorkerGroupId(command.getWorkerGroupId());
        processInstance.setTimeout(processDefinition.getTimeout());
        return processInstance;
    }

+5 −0
Original line number Diff line number Diff line
@@ -94,6 +94,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 = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR),
            @Result(property = "timeout", column = "timeout", javaType = String.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)

@@ -121,6 +122,7 @@ public interface ProcessDefinitionMapper {
            @Result(property = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR),
            @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 = String.class, jdbcType = JdbcType.INTEGER),
            @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR)
    })
    @SelectProvider(type = ProcessDefinitionMapperProvider.class, method = "queryByDefineName")
@@ -157,6 +159,7 @@ public interface ProcessDefinitionMapper {
            @Result(property = "updateTime", column = "update_time", javaType = Timestamp.class, jdbcType = JdbcType.DATE),
            @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 = String.class, jdbcType = JdbcType.INTEGER),
            @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR)
    })
    @SelectProvider(type = ProcessDefinitionMapperProvider.class, method = "queryAllDefinitionList")
@@ -183,6 +186,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 = "scheduleReleaseState", column = "schedule_release_state",  typeHandler = EnumOrdinalTypeHandler.class, javaType = ReleaseState.class, jdbcType = JdbcType.TINYINT),
            @Result(property = "timeout", column = "timeout", javaType = String.class, jdbcType = JdbcType.INTEGER),
            @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR)
    })
    @SelectProvider(type = ProcessDefinitionMapperProvider.class, method = "queryDefineListPaging")
@@ -211,6 +215,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 = "userName", column = "user_name", javaType = String.class, jdbcType = JdbcType.VARCHAR),
            @Result(property = "timeout", column = "timeout", javaType = String.class, jdbcType = JdbcType.INTEGER),
            @Result(property = "projectName", column = "project_name", javaType = String.class, jdbcType = JdbcType.VARCHAR)
    })
    @SelectProvider(type = ProcessDefinitionMapperProvider.class, method = "queryDefinitionListByIdList")
+3 −1
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ public class ProcessDefinitionMapperProvider {
                VALUES("`connects`", "#{processDefinition.connects}");
                VALUES("`create_time`", "#{processDefinition.createTime}");
                VALUES("`update_time`", "#{processDefinition.updateTime}");
                VALUES("`timeout`", "#{processDefinition.timeout}");
                VALUES("`flag`", EnumFieldUtil.genFieldStr("processDefinition.flag", ReleaseState.class));
                VALUES("`user_id`", "#{processDefinition.userId}");

@@ -100,6 +101,7 @@ public class ProcessDefinitionMapperProvider {
                SET("`global_params`=#{processDefinition.globalParams}");
                SET("`create_time`=#{processDefinition.createTime}");
                SET("`update_time`=#{processDefinition.updateTime}");
                SET("`timeout`=#{processDefinition.timeout}");
                SET("`flag`="+EnumFieldUtil.genFieldStr("processDefinition.flag", Flag.class));
                SET("`user_id`=#{processDefinition.userId}");

@@ -173,7 +175,7 @@ public class ProcessDefinitionMapperProvider {
     */
    public String queryDefineListPaging(Map<String, Object> parameter) {
        return new SQL() {{
            SELECT("td.id,td.name,td.version,td.release_state,td.project_id,td.user_id,td.`desc`,td.create_time,td.update_time,td.flag,td.global_params,td.receivers,td.receivers_cc,sc.schedule_release_state");
            SELECT("td.*,sc.schedule_release_state");
            FROM(TABLE_NAME + " td");
            LEFT_OUTER_JOIN(" (select process_definition_id,release_state as schedule_release_state from `t_escheduler_schedules` " +
                    "group by `process_definition_id`,`release_state`) sc on sc.process_definition_id = td.id");
Loading