-
Notifications
You must be signed in to change notification settings - Fork 208
Description
Hi,
We have django-health-check installed on our Django website.
INSTALLED_APPS += [
...
"health_check",
"health_check.db",
"health_check.contrib.celery",
...
There are db and celery checks.
Last week, I set up external monitoring so every 5 minutes the health check is contacted. The checks were all passing.
After 5 days, an outage. It appears that every health check opens a connection to the redis memorystore and does not close it. There were 44,000 open connections to redis. It can crash the app.
What is unknown, is whether this bug is specific to django-health-check, and doesn't affect the rest of the website, or if it has uncovered a problem of the website itself that could show up later with many visitors.
Usually databases have connection pooling that limits the number of connections. What about celery and redis?
Do you believe this would be a "general website issue", and not caused by django-health-check?
I disabled the frequent health checks. The client connections stabilized again, and stopped increasing.