execute

Execute reactive resolution

Description

Resolve one or more output resource specifications through the reactive execution engine.

Return the current status of an asynchronous execution started through workspace$.internal$resolver$resolve.async().

Return a compact execution summary for an asynchronous run.

Return the tracked execution dependency graph and node states.

Return the most recently started execution-engine run tracked by workspace.

Usage

execute(
  outputs,
  inputs = NULL,
  .execute = TRUE,
  .transform = NULL,
  .action = NULL,
  .status = NULL
)

execute.status(execution)

execute.summary(execution)

execute.graph(execution)

execute.last()

Arguments

outputs

Output specification(s): single ResourceSpec, list/vector of ResourceSpec, or ResourceSpecSet.

inputs

Optional input specification(s) that are available to the execution engine.

.execute

Logical; when TRUE run execution-engine resolution, otherwise return requested specs without scheduling.

.transform

Optional function applied to the loaded output value list before returning (only when .execute = TRUE).

.action

Optional execution-engine action label used in live execution status.

.status

Optional execution-status mode override (“auto”, “yes”, “no”). Defaults to options(“PolyGenius.execution.status”).

execution

Execution object returned by workspace$.internal$resolver$resolve.async().

Details

When .execute = FALSE, this helper does not schedule work and returns a ResourceSpecSet containing requested outputs plus any provided inputs.

Value

When .execute = TRUE, resolved output resource value(s) loaded from cache (single value for one output, list for multiple outputs). When .execute = FALSE, a ResourceSpecSet containing ⁠.arg outputs⁠ and ⁠.arg inputs⁠ (if supplied).

A single status string (“pending”, “running”, “completed”, or “failed”).

A named list with execution-engine progress fields such as status, queued/running counts, and failure details.

A named list with:

  • nodes: node table with id, type, label, status, and reason.

  • edges: dependency edges (from -> to with input name).

  • blocked.by: subset of edges explaining blocked nodes via failed/blocked upstream nodes.

Execution object or NULL when no execution has run yet.