Health Check

ServingApp allows to add additional GET route for handling health/ping requests

from mlserving import ServingApp

app = ServingApp()

# Using the default health handler
app.add_health_handler('/ping')

app.run()

The default handler always returns 200 OK

ServingApp listens to SIGTERM signal, if SIGTERM signal was sent to the process, all the health routes will start returning 503 (Useful when making a graceful shutdown to the application)

Custom Health Handlers

app.add_health_handler 2nd argument is an handler, so you just need to implement one.

from mlserving import ServingApp
from mlserving.health import HealthHandler, Healthy, Unhealthy

class CustomHealthHandler(HealthHandler):
        def health_check(self):
            if some_condition:
                return Unhealthy()
            return Healthy()

app = ServingApp()

# Using our custom health handler
app.add_health_handler('/ping', CustomHealthHandler())

app.run()