Browse Source
Merge pull request #7613 from YevhenBondarenko/feature/js-executor-improvements
[3.4.2] js-executor improvements
pull/7615/head
Andrew Shvayka
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with
10 additions and
2 deletions
-
docker/tb-js-executor.env
-
msa/js-executor/api/jsInvokeMessageProcessor.ts
-
msa/js-executor/config/custom-environment-variables.yml
-
msa/js-executor/config/default.yml
-
msa/js-executor/docker/start-js-executor.sh
|
|
|
@ -3,4 +3,5 @@ LOGGER_LEVEL=info |
|
|
|
LOG_FOLDER=logs |
|
|
|
LOGGER_FILENAME=tb-js-executor-%DATE%.log |
|
|
|
DOCKER_MODE=true |
|
|
|
SCRIPT_BODY_TRACE_FREQUENCY=1000 |
|
|
|
SCRIPT_BODY_TRACE_FREQUENCY=1000 |
|
|
|
NODE_OPTIONS="--max-old-space-size=200" |
|
|
|
|
|
|
|
@ -39,6 +39,7 @@ const TIMEOUT_ERROR = 2; |
|
|
|
const NOT_FOUND_ERROR = 3; |
|
|
|
|
|
|
|
const statFrequency = Number(config.get('script.stat_print_frequency')); |
|
|
|
const memoryUsageTraceFrequency = Number(config.get('script.memory_usage_trace_frequency')); |
|
|
|
const scriptBodyTraceFrequency = Number(config.get('script.script_body_trace_frequency')); |
|
|
|
const useSandbox = config.get('script.use_sandbox') === 'true'; |
|
|
|
const maxActiveScripts = Number(config.get('script.max_active_scripts')); |
|
|
|
@ -167,6 +168,10 @@ export class JsInvokeMessageProcessor { |
|
|
|
if (this.executedScriptsCounter % scriptBodyTraceFrequency == 0) { |
|
|
|
this.logger.info('[%s] Executing script body: [%s]', scriptId, invokeRequest.scriptBody); |
|
|
|
} |
|
|
|
if (this.executedScriptsCounter % memoryUsageTraceFrequency == 0) { |
|
|
|
this.logger.info('Current memory usage: [%s]', process.memoryUsage()); |
|
|
|
} |
|
|
|
|
|
|
|
this.getOrCompileScript(scriptId, invokeRequest.scriptBody).then( |
|
|
|
(script) => { |
|
|
|
this.executor.executeScript(script, invokeRequest.args, invokeRequest.timeout).then( |
|
|
|
|
|
|
|
@ -75,6 +75,7 @@ logger: |
|
|
|
|
|
|
|
script: |
|
|
|
use_sandbox: "SCRIPT_USE_SANDBOX" |
|
|
|
memory_usage_trace_frequency: "MEMORY_USAGE_TRACE_FREQUENCY" |
|
|
|
stat_print_frequency: "SCRIPT_STAT_PRINT_FREQUENCY" |
|
|
|
script_body_trace_frequency: "SCRIPT_BODY_TRACE_FREQUENCY" |
|
|
|
max_active_scripts: "MAX_ACTIVE_SCRIPTS" |
|
|
|
|
|
|
|
@ -64,6 +64,7 @@ logger: |
|
|
|
|
|
|
|
script: |
|
|
|
use_sandbox: "true" |
|
|
|
memory_usage_trace_frequency: "1000" |
|
|
|
script_body_trace_frequency: "10000" |
|
|
|
stat_print_frequency: "10000" |
|
|
|
max_active_scripts: "1000" |
|
|
|
|
|
|
|
@ -27,4 +27,4 @@ source "${CONF_FOLDER}/${configfile}" |
|
|
|
cd ${pkg.installFolder} |
|
|
|
|
|
|
|
# This will forward this PID 1 to the node.js and forward SIGTERM for graceful shutdown as well |
|
|
|
exec node server.js |
|
|
|
exec --no-compilation-cache node server.js |
|
|
|
|