WJb Docs - Reference

Browse APIs, configuration options, interfaces, and implementation details.

⚡ Actions
🔀 Workflow
📦 Jobs
⚙️ Runtime
💾 Persistence
🗄 Storage
🧩 Workflow Metadata
🛠 Extensions & Helpers

JobCommands

Represents a collection of workflow commands.

JobCommands groups multiple JobCommand instances into a single result that can be processed by the WJb runtime.

Purpose

Use JobCommands when a workflow needs to produce more than one command.

IActionResult
      ↓
 JobCommands
      ↓
JobCommand
JobCommand
JobCommand

This makes it possible to describe complex workflow transitions while keeping actions simple.

Execution Flow

Action
 ↓
IActionResult
 ↓
JobCommands
 ↓
Runtime

The runtime processes each command and performs the required workflow operations.

Typical Scenarios

Fan-Out Processing

Import File
      ↓
 ┌────┼────┐
 ↓    ↓    ↓
 A    B    C

A single action creates multiple follow-up jobs.

Parallel Work

Generate PDF
Generate Excel
Send Notification

All commands can be produced from a single workflow step.

Conditional Workflows

Different commands may be produced depending on business rules.

Relationship to JobCommand

JobCommand represents a single workflow instruction.

JobCommands represents a set of workflow instructions.

JobCommand
      ↓
JobCommands

Relationship to Results

Actions normally work with result types.

The runtime ultimately converts workflow intent into commands.

Results
   ↓
IActionResult
   ↓
JobCommands

Best Practices

Keep Commands Independent

Each command should describe a separate workflow operation.

Prefer Explicit Workflows

A reader should be able to understand why each command exists.

Use Small Actions

Large workflows are generally easier to maintain when split into multiple focused actions.

Related Types

  • JobCommand
  • JobCommandCondition
  • IActionResult
  • Results
  • NextResult

See Also

  • JobCommand
  • JobCommandCondition
  • NextResult
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.