setRunState method

void setRunState(
  1. String runId,
  2. String state, {
  3. String? triggerState,
  4. String? reason,
})

Moves runId to state (running, completed, failed, cancelled) and appends run.state_changed with the summary (04 11.3 item 1).

Implementation

void setRunState(
  String runId,
  String state, {
  String? triggerState,
  String? reason,
}) {
  final run = runs[runId]!;
  run
    ..['state'] = state
    ..['version'] = (run['version']! as int) + 1;
  if (reason != null) run['state_reason'] = reason;
  if (state == 'running') run['started_at'] = stamp();
  if (_endStates.contains(state)) run['finished_at'] = stamp();
  _runStateEvent(run, triggerState: triggerState);
}