Skip to content

Runner Clinical Domain Agent Since 5.0

This page documents the runner section of the FTSnext agent configuration file (application.yaml). It defines parameters that control concurrency and the lifecycle of processes managed by FTSnext

Configuration Example

yaml
runner:
  maxSendConcurrency: 32
  maxConcurrentProcesses: 4
  cohortSelectionConcurrency: 4
  processTtl: P1D

Fields

maxSendConcurrency Since 5.0

  • Description: The maximum number of concurrent bundles that can be sent in parallel.
  • Type: Integer
  • Default: 32
  • Example:
    yaml
    runner:
      maxSendConcurrency: 50

maxConcurrentProcesses Since 5.0

  • Description: The maximum number of processes that can run concurrently.
  • Type: Integer
  • Default: 4
  • Example:
    yaml
    runner:
      maxConcurrentProcesses: 10

cohortSelectionConcurrency Since 5.7

  • Description: The number of concurrent workers used to group patients with their consents during cohort selection. This grouping is CPU-bound and runs on a dedicated scheduler that this value also sizes; the scheduler is shared across all concurrent processes, so this caps the total threads cohort selection may use rather than being per-process. Raise it on hosts with more cores if cohort selection is a bottleneck.
  • Type: Integer
  • Default: 4
  • Example:
    yaml
    runner:
      cohortSelectionConcurrency: 8

processTtl Since 5.0

  • Description: The time-to-live (TTL) for a process, defined as an ISO-8601 duration (e.g., P1D for 1 day).
  • Type: String (ISO-8601 duration format)
  • Default: P1D
  • Example:
    yaml
    runner:
      processTtl: PT3H  # 3 hours

Notes

  • ISO-8601 Duration Format: For more details on the duration format, refer to ISO 8601.
  • Ensure that the processTtl value is reasonable to avoid resource exhaustion due to long-lived processes.