S00016

错误代码

S00016

报错信息

"The task queue depth cannot exceed " + xxx. RefId: S00016

错误原因

任务的原始 depth 为0,原始任务产生的子任务或发往其他节点的任务,depth 都会自动加 1,但是 depth 的上限为 6,如果超过的话就会报错。比如集群中有 node1 和 node2 两个节点,在 node1 执行下面脚本:

def myRpc1() {	return rpc("node2", peach, log, (1..3, 4..6))}
def myRpc2() { return rpc("node1", myRpc1) }
def myRpc3() { return rpc("node2", myRpc2) }
def myRpc4() { return rpc("node1", myRpc3) }
def myRpc5() { return rpc("node2", myRpc4) }
def myRpc6() { return rpc("node1", myRpc5) }
def myRpc7() { return rpc("node2", myRpc6) }

myRpc7()
// A task's depth can't exceed  6

解决办法

注意depth 为 6 的上限。此外,在出现该报错后,建议尽量避免在脚本中使用 rpc 到其他节点执行任务。