Skip to content

process.fork ​

Queues a process to run in parallel with others. Queued processes don't start until process.join is called, which runs them all at once.

js
process.fork(processNameOrId)
process.fork(modelNameOrId, processNameOrId)
process.fork(processNameOrId, parameters)
process.fork(modelNameOrId, processNameOrId, parameters)

Parameters ​

ParameterTypeDescription
modelNameOrIdstringOptional. The model's name or id. Defaults to the current model.
processNameOrIdstringThe process's name or id.
parametersobjectOptional. The parameters to pass to the process, keyed by parameter name.

Returns ​

boolean

true if the process was queued, otherwise false.

Examples ​

js
// Fork a process without parameters.
const forked = process.fork("yourProcess");
console.log(forked); // true or false
js
// Fork a process within a specific model with parameters.
const parameters = { "param1": "value1", "param2": "value2" };
const forked = process.fork("yourModel", "yourProcess", parameters);
console.log(forked); // true or false
js
// Load each region's sales at the same time.
const regions = ["North", "South", "East", "West"];

for (const region of regions) {
    if (!process.fork("Load Sales", { "region": region })) {
        console.log("Could not queue Load Sales for " + region);
    }
}

process.join(); // Runs all four at once and waits for them to finish.
console.log("All regions loaded");