Skip to content

Latest commit

 

History

History
28 lines (18 loc) · 1.39 KB

faastjs.commonoptions.childprocess.md

File metadata and controls

28 lines (18 loc) · 1.39 KB
id title hide_title
faastjs.commonoptions.childprocess
CommonOptions.childProcess property
true

faastjs > CommonOptions > childProcess

CommonOptions.childProcess property

If true, create a child process to isolate user code from faast scaffolding. Default: true.

Signature:

childProcess?: boolean;

Remarks

If a child process is not created, faast runs in the same node instance as the user code and may not execute in a timely fashion because user code may block the event loop. Creating a child process for user code allows faast.js to continue executing even if user code never yields. This provides better reliability and functionality:

  • Detect timeout errors more reliably, even if the function doesn't relinquish the CPU. Not applicable to AWS, which sends separate failure messages in case of timeout. See CommonOptions.timeout.

  • CPU metrics used for detecting invocations with high latency, which can be used for automatically retrying calls to reduce tail latency.

The cost of creating a child process is mainly in the memory overhead of creating another node process.