一.状态
-
processInstance 和taskInstace状态取值。
SUBMITTED_SUCCESS(0, "submit success"), RUNNING_EXEUTION(1, "running"), READY_PAUSE(2, "ready pause"), PAUSE(3, "pause"), READY_STOP(4, "ready stop"), STOP(5, "stop"), FAILURE(6, "failure"), SUCCESS(7, "success"), NEED_FAULT_TOLERANCE(8, "need fault tolerance"), KILL(9, "kill"), WAITTING_THREAD(10, "waiting thread"), WAITTING_DEPEND(11, "waiting depend node complete");
二.类型:
-
commandType的取值
START_PROCESS(0, "start a new process"), START_CURRENT_TASK_PROCESS(1, "start a new process from current nodes"), RECOVER_TOLERANCE_FAULT_PROCESS(2, "recover tolerance fault process"), RECOVER_SUSPENDED_PROCESS(3, "recover suspended process"), START_FAILURE_TASK_PROCESS(4, "start process from failure task nodes"), COMPLEMENT_DATA(5, "complement data"), SCHEDULER(6, "start a new process from scheduler"), REPEAT_RUNNING(7, "repeat running a process"), PAUSE(8, "pause a process"), STOP(9, "stop a process"), RECOVER_WAITTING_THREAD(10, "recover waiting thread");
-
commandId 会变的情况统计
-
【1】重新运行(会产生新的commandId)
REPEAT_RUNNING(7, "repeat running a process")
-
【2】master节点容错(会产生新的commandId)
-
查询processInstance(t_ds_process_instance)
-
如果master+worker或者单单worker节点挂掉,会运行一个新的任务
-
如果单单master节点挂掉,(由于woker节点还活着,任务并没有挂掉),即使有master 容错产生了command,但是并没有重新生成新的任务。
-
RECOVER_TOLERANCE_FAULT_PROCESS(2, “recover tolerance fault process”)
-
-
【3】woker节点容错(不会产生新的commandId)
- 查询processInstance(t_ds_task_instance)
- 修改其状态为“need fault tolerance”
-
【4】多个实例运行的时候(会产生新的commandId)
- 没有问题,正常,每此触发【多个实例嘛】,都会返回一个新的commandId,会变是正常
-
【5】定时任务(会产生新的commandId,新的processInstanceId)
- 每次触发定时任务都会产生一个新的processInstance记录和taskInstance记录。
- SCHEDULER(6, “start a new process from scheduler”),
-
【6】MaxRetryTimes,失败重试(commandId不会变,ProcessInstanceId不变)
在整个重试的过程中是运行的(process Instance)状态也就是值是running(1),当达到上限的时候,如果没有成功的话,状态是failure(6)。只是将任务重新放入队列中,所以并不会生成command。
-