Add readiness check to HTTP server #1855
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This differs from the
/health-check
endpoint in that it only returns 200 if the health status isREADY
— i.e. ready to make a prediction.In my particular use-case, this will be useful when running Cog on Fly.io GPUs (see here, here and here) with cold start requests; in my testing, I would regularly hit
409 - Conflict
("Already running a prediction") when sending an HTTP request to Cog and starting the VM. This occurs even with the idempotent endpoint. I am not sure if I this is intended behaviour — but it's not working for my use-case.A readiness endpoint would allow me to set a health check to only forward the request to the Machine when it's ready to make a prediction:
Happy to elaborate further!