Skip to content

runnerty/executor-js

Repository files navigation

Smart Processes Management

NPM version Downloads code style: prettier

JS executor for Runnerty:

Module for the execution of JS through a child process of nodejs (fork).

Installation:

npm i @runnerty/executor-js

You can also add modules to your project with runnerty-cli

npx runnerty-cli add @runnerty/executor-js

This command installs the module in your project, adds example configuration in your config.json and creates an example plan of use.

If you have installed runnerty-cli globally you can include the module with this command:

rty add @runnerty/executor-js

Configuration:

Add in config.json:

{
  "id": "js_default",
  "type": "@runnerty-executor-js"
}
{
  "id": "js_default",
  "type": "@runnerty-executor-js",
  "timeout": true,
  "debug": true
}

Plan:

Add in plan.json:

In case the script contains only one function, it is not necessary to specify it. Don't forget to include this in your script: module.exports = function_name.

{
  "id": "js_default",
  "script": "./js/sample.js"
}

If your script contains several exported functions you must indicate the function to execute. Don't forget to include this in your script for each of the functions you want to export: module.exports.functionSample = functionSample.

{
  "id": "js_default",
  "script": "./js/sample.js",
  "function": "functionSample"
}

In the parameters property you can indicate any type/value you expect in your function.

{
  "id": "js_default",
  "script": "./js/sample.js",
  "function": "functionSample",
  "parameters": 123
}
{
  "id": "js_default",
  "script": "./js/sample.js",
  "function": "functionSample",
  "parameters": {
    "id": "X123",
    "name": "Runnerty"
  }
}

Output (Process values):

Standard

  • PROCESS_EXEC_DATA_OUTPUT: Output data (JSON or String)
  • PROCESS_EXEC_ERR_OUTPUT: Error output message.

Extra

In case your function returns an object or an array of objects, you can also access each of the values individually.

For example, if your function returns this object:

{ "id": 1, "name": "mokka" }

You can access the values with the GETVALUE function indicating the key: @GV(PROCESS_EXEC_ID), @GV(PROCESS_EXEC_NAME)

Si su función devuelve este array de objeto:

[
  { "id": 1, "name": "mokka" },
  { "id": 2, "name": "cleo" },
  { "id": 3, "name": "nela" }
]

You can access the values with the GETVALUE function indicating the position and the key: @GV(PROCESS_EXEC_0_ID), @GV(PROCESS_EXEC_0_NAME)