vendure-ecommerce / vendure

The commerce platform with customization in its DNA.
https://www.vendure.io
Other
5.78k stars 1.03k forks source link

Worker health check #289

Closed michaelbromley closed 4 years ago

michaelbromley commented 4 years ago

Is your feature request related to a problem? Please describe. If the worker process is not running, certain operations (e.g. updating prod search index) will fail. This can be confusing as it is not immediately obvious why they fail, and could be a common source of frustration.

Describe the solution you'd like Add a new query which tests the readiness of the worker process. In the Admin UI, run this on bootstrap and raise a warning if not available.

michaelbromley commented 4 years ago

While I implement this I'll make it part of a general health check query. This will provide data on the health of the server & worker publicly, and perhaps we can include more granular data on particular services (database, elasticsearch) but restricted to authorized admins.

Makes sense to integrate the Nest Terminus package (https://docs.nestjs.com/recipes/terminus). It's well-documented and supports microservices (ie the worker process) out of the box, and should ready Vendure for use with Kubernetes.

michaelbromley commented 4 years ago

Note: wait for official Nest v7 compatibility of the Terminus module: https://github.com/nestjs/terminus/issues/606

This means this feature will be deferred to a later minor release (as Nest v7 is due in the next minor)