parse-community / parse-community/parse-server

Extend health endpoint

Open
#8,331 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type:feature
Dominant language
JavaScript
Stars
21.4k
Forks
4.8k
Avg merge
7h 45m
Merged PRs (30d)
11

Description

New Feature / Enhancement Checklist
Current Limitation

The /parse/health endpoint only returns a single key status: 'ok' without any contextual information such as:

  • status may be ok, but there may be internal processes going on that are health related
  • status may be not ok, in which case there should be additional information returned
Feature / Enhancement Description

Currently "status" is a final state that is only related to the final result of the server start. The suggestion is to make "status" a dynamic state that can change at anytime during runtime and returns the current server health throughout the server lifecycle. This would make the status more versatile for future server health features. One could set an alarm to continuously watch the server status. For example:

{
  status: "degraded",
  code: 1,
  warnings: [
    {
      code: 123,
      message: "Database connection fails."
    }
  ]
}

We could add the following status:

  • unknown: returned by the health endpoint by default, even before server begins initializing
  • pending: server is starting up
  • ok: all good, server has started
  • severe: there are some issues the developer should look into, server is not running

There could also be warnings and infos like:

{
  status: "ok",
  code: 0,
  warnings: [
    {
      code: 123,
      message: "Intermittent database connection errors."
    }
  ],
  infos: [
    {
      code: 124,
      message: "Android push notification certificate expires in 29 days."
    }
  ]
}
Example Use Case

n/a

Alternatives / Workarounds

n/a

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the /parse/health endpoint and reading how the current startup-related status is produced. Clarify the proposed lifecycle states, status codes, warnings, and infos before changing behavior. Done means the endpoint reports the agreed current health throughout the server lifecycle, with coverage for the defined response states.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.