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
到其他节点执行任务。