- Print
- PDF
Flow of Execution
Data Flow depends heavily on multitasking. Huge amounts of concurrent customer sessions are handled by just a handful of threads from a small threadpool. There is no separate thread allocated for any single session.
The multitasking approach employed by Data Flow requires every long running operation to be performed in an asynchronous manner. This means that neither in the engine nor in the nodes there is ever a wait or sleep call of any kind.
Custom nodes are also not exempt from that. Blocking execution by sleeping or writing long loops is undesired. Any script call that exceeds 20 milliseconds is immediately terminated by the Data Flow engine. This timeout is per JavaScript method call. These calls include include; createNode
, onEvent
, onAudio
, HTTP Response Handler
and Flush
. This timeout can be changed via the server config and changing it requires service restart.