Forcola.Stream.Error exception (forcola v0.6.0)

Copy Markdown View Source

Raised when a streamed run does not end with a clean zero exit.

Fields:

  • :status - exit code, {:signal, n} for death by signal, or {:signal, :unconfirmed} when the shim never confirmed death
  • :timed_out - whether the run hit the whole-run :timeout_ms
  • :idle_timed_out - whether the run hit :idle_timeout_ms (no output arrived within the idle interval); mutually exclusive with :timed_out
  • :stderr - stderr captured before termination (empty when merge_stderr: true routed it into the line stream)
  • :reason - spawn failure reason, nil for a run that started
  • :limit - {:line, :stdout | :merged, n} or {:total, :stderr, n} when bounded output exceeded its configured limit

  • :output_truncated - whether output was deliberately discarded or the shim reported an incomplete drain

Summary

Types

t()

@type t() :: %Forcola.Stream.Error{
  __exception__: true,
  idle_timed_out: boolean(),
  limit: {:line | :total, atom(), pos_integer()} | nil,
  output_truncated: boolean(),
  reason: String.t() | atom() | tuple() | nil,
  status: non_neg_integer() | {:signal, atom() | non_neg_integer()} | nil,
  stderr: binary(),
  timed_out: boolean()
}