Skip to content

Distinguish queued/waiting services from down #22

@tylerhunt

Description

@tylerhunt

Problem

With service dependency ordering (#16), a service that is waiting for its
dependencies to reach up reads as down — the same as a service that
simply hasn't been started yet. The dashboard cannot distinguish these two
cases. A user looking at the dashboard cannot tell whether a service is idle
or actively waiting on something.

Proposal

Add a fifth state to the service status model — e.g., queued or waiting
— that represents "ready to start, blocked on dependency". The dashboard
renders it distinctly from down so the user can see that progress is
expected.

This was deliberately deferred from the dependency-ordering proposal to keep
the four-state machine intact; revisit once that work has landed and we have
a feel for whether the conflation actually causes confusion.

Open questions

  • Naming: queued, waiting, pending, something else?
  • Application status derivation: does queued propagate to the app, or does
    the app status remain a function of up/starting/crashed only?
  • Does this affect the on-demand startup loading page (Loading page progress for dependency closure #21), or is that
    covered separately by subscribing to the dep closure?

Scope

Depends on #16 landing first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions