Skip to main content

Module external

Module external 

Source
Expand description

Host-side evaluation of external-function measures (Phase 6).

An external-function measure (Model.external_calls[m] = ExternalCall { func, arg_measures }) is computed outside the differential-dataflow graph: for each coordinate present in all argument measures, we gather the argument values and invoke the registered external function via improv_extfn, writing the result as an ordinary input cell.

Doing this host-side (rather than inside a DD operator) keeps the engine’s dataflow pure and Send/deterministic — external calls, which shell out to a runtime, never enter the hot recompute path. It mirrors how SQL live-query measures refresh: the function’s output becomes input cells, and the engine then recomputes ordinary dependents normally. External calls are gated on an explicit refresh (they are nondeterministic sources by nature).

Enums§

ExternalError

Constants§

DEFAULT_TIMEOUT
Default wall-clock deadline for a single external evaluation.

Functions§

refresh_external_measure
Recompute an external-function measure’s cells by invoking its function over its argument measures, coordinate by coordinate. Returns the number of cells written. If the function fails at any coordinate (an exception, a timeout, no usable sandbox), this returns ExternalError::Eval and leaves the measure’s previous cells untouched: the results are input cells, and an error value cannot be stored as one.