Readiness Check for uWSGI
Readiness check for uwsgi using its stats socket
Use this check to mark a pod running
NotReady whenever the uwsgi queue crosses a threshold.
This will allow uwsgi to finish processing requests in its queue before Kubernetes sends more traffic to it
Local Development / Testing
Because the readiness check needs to run as part of a pod, in order to have functional test we deploy a small python+uwsgi application that sleeps for a few seconds + a second python "client" script that makes requests. Since the application sleeps upon a request and new requests are constantly being sent, uwsgi will eventually queue and we'll readiness checks should fail.
skaffold installed, simply run:
Skaffold builds a docker image, loads into the kind "cluster" and creates the Pods, watches for changes in the filesystem and automatically re-deploys when needed.
The example below will prevent traffic from hitting the Pod once the queue reaches 70% its max capacity:
You can find a complete example in
In the container image used by your Pod, run:
pip install uwsgi-readiness-check
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for uwsgi-readiness-check-0.2.0.tar.gz
Hashes for uwsgi_readiness_check-0.2.0-py3-none-any.whl