Added max execution requests timeout for remote JS executors

This commit is contained in:
Volodymyr Babak 2022-07-08 16:58:34 +03:00
parent e32c42749f
commit af52540cb2
2 changed files with 7 additions and 2 deletions

View File

@ -57,6 +57,9 @@ public class RemoteJsInvokeService extends AbstractJsInvokeService {
@Value("${queue.js.max_requests_timeout}") @Value("${queue.js.max_requests_timeout}")
private long maxRequestsTimeout; private long maxRequestsTimeout;
@Value("${queue.js.max_exec_requests_timeout}")
private long maxExecRequestsTimeout;
@Getter @Getter
@Value("${js.remote.max_errors}") @Value("${js.remote.max_errors}")
private int maxErrors; private int maxErrors;
@ -170,7 +173,7 @@ public class RemoteJsInvokeService extends AbstractJsInvokeService {
.setScriptIdMSB(scriptId.getMostSignificantBits()) .setScriptIdMSB(scriptId.getMostSignificantBits())
.setScriptIdLSB(scriptId.getLeastSignificantBits()) .setScriptIdLSB(scriptId.getLeastSignificantBits())
.setFunctionName(functionName) .setFunctionName(functionName)
.setTimeout((int) (maxRequestsTimeout * 0.75)) // timeout on JS executor must be less than on Java .setTimeout((int) maxExecRequestsTimeout)
.setScriptBody(scriptBody); .setScriptBody(scriptBody);
for (Object arg : args) { for (Object arg : args) {

View File

@ -1044,7 +1044,9 @@ queue:
# JS Eval max request timeout # JS Eval max request timeout
max_eval_requests_timeout: "${REMOTE_JS_MAX_EVAL_REQUEST_TIMEOUT:60000}" max_eval_requests_timeout: "${REMOTE_JS_MAX_EVAL_REQUEST_TIMEOUT:60000}"
# JS max request timeout # JS max request timeout
max_requests_timeout: "${REMOTE_JS_MAX_REQUEST_TIMEOUT:1500}" max_requests_timeout: "${REMOTE_JS_MAX_REQUEST_TIMEOUT:10000}"
# JS execution max request timeout
max_exec_requests_timeout: "${REMOTE_JS_MAX_EXEC_REQUEST_TIMEOUT:2000}"
# JS response poll interval # JS response poll interval
response_poll_interval: "${REMOTE_JS_RESPONSE_POLL_INTERVAL_MS:25}" response_poll_interval: "${REMOTE_JS_RESPONSE_POLL_INTERVAL_MS:25}"
rule-engine: rule-engine: