Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-django-health-check for
openSUSE:Factory checked in at 2026-04-11 22:26:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-health-check (Old)
and /work/SRC/openSUSE:Factory/.python-django-health-check.new.21863 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-health-check"
Sat Apr 11 22:26:54 2026 rev:14 rq:1346090 version:4.2.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-django-health-check/python-django-health-check.changes
2026-04-04 19:08:57.160901828 +0200
+++
/work/SRC/openSUSE:Factory/.python-django-health-check.new.21863/python-django-health-check.changes
2026-04-11 22:32:36.395684835 +0200
@@ -1,0 +2,10 @@
+Sat Apr 11 17:38:00 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 4.2.2:
+ * Link to stable psutil docs
+ * Ref #701 -- Close dangling DB connections and reduce memory
+ foodprint
+ * Fix #699 -- Gracefully handle None value from active_queues
+ in Celery
+
+-------------------------------------------------------------------
Old:
----
django-health-check-4.2.1.tar.gz
New:
----
django-health-check-4.2.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-health-check.spec ++++++
--- /var/tmp/diff_new_pack.5ZGHD7/_old 2026-04-11 22:32:36.919706267 +0200
+++ /var/tmp/diff_new_pack.5ZGHD7/_new 2026-04-11 22:32:36.923706431 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-django-health-check
-Version: 4.2.1
+Version: 4.2.2
Release: 0
Summary: Run checks on Django and is dependent services
License: MIT
++++++ django-health-check-4.2.1.tar.gz -> django-health-check-4.2.2.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-health-check-4.2.1/.github/workflows/ci.yml
new/django-health-check-4.2.2/.github/workflows/ci.yml
--- old/django-health-check-4.2.1/.github/workflows/ci.yml 2026-03-20
14:36:56.000000000 +0100
+++ new/django-health-check-4.2.2/.github/workflows/ci.yml 2026-04-09
18:03:15.000000000 +0200
@@ -46,7 +46,7 @@
with:
python-version: ${{ matrix.python-version }}
- run: uv run --no-dev --group=test --with Django~=${{
matrix.django-version }}.0 pytest
- - uses: codecov/codecov-action@v5
+ - uses: codecov/codecov-action@v6
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: python-${{ matrix.python-version }}-django-${{
matrix.django-version }}
@@ -112,7 +112,7 @@
with:
python-version: ${{ matrix.python-version }}
- run: uv run --no-dev --group=test --extra=${{ matrix.extra }} --with
Django~=${{ matrix.django-version }}.0 pytest
- - uses: codecov/codecov-action@v5
+ - uses: codecov/codecov-action@v6
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: python-${{ matrix.python-version }}-django-${{
matrix.django-version }}-${{ matrix.extra }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-health-check-4.2.1/.github/workflows/release.yml
new/django-health-check-4.2.2/.github/workflows/release.yml
--- old/django-health-check-4.2.1/.github/workflows/release.yml 2026-03-20
14:36:56.000000000 +0100
+++ new/django-health-check-4.2.2/.github/workflows/release.yml 2026-04-09
18:03:15.000000000 +0200
@@ -25,7 +25,7 @@
runs-on: ubuntu-latest
steps:
- id: deployment
- uses: actions/deploy-pages@v4
+ uses: actions/deploy-pages@v5
pypi-build:
runs-on: ubuntu-latest
steps:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-health-check-4.2.1/.pre-commit-config.yaml
new/django-health-check-4.2.2/.pre-commit-config.yaml
--- old/django-health-check-4.2.1/.pre-commit-config.yaml 2026-03-20
14:36:56.000000000 +0100
+++ new/django-health-check-4.2.2/.pre-commit-config.yaml 2026-04-09
18:03:15.000000000 +0200
@@ -36,7 +36,7 @@
- mdformat-gfm-alerts
exclude: '.github/agents/'
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.15.6
+ rev: v0.15.9
hooks:
- id: ruff-check
args: [--fix, --exit-non-zero-on-fix]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-health-check-4.2.1/health_check/base.py
new/django-health-check-4.2.2/health_check/base.py
--- old/django-health-check-4.2.1/health_check/base.py 2026-03-20
14:36:56.000000000 +0100
+++ new/django-health-check-4.2.2/health_check/base.py 2026-04-09
18:03:15.000000000 +0200
@@ -74,11 +74,12 @@
return "OK"
async def get_result(self: HealthCheck) -> HealthCheckResult:
+ loop = asyncio.get_running_loop()
start = timeit.default_timer()
try:
await self.run() if inspect.iscoroutinefunction(
self.run
- ) else await asyncio.to_thread(self.run)
+ ) else await loop.run_in_executor(None, self.run)
except HealthCheckException as e:
error = e
except BaseException:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-health-check-4.2.1/health_check/checks.py
new/django-health-check-4.2.2/health_check/checks.py
--- old/django-health-check-4.2.1/health_check/checks.py 2026-03-20
14:36:56.000000000 +0100
+++ new/django-health-check-4.2.2/health_check/checks.py 2026-04-09
18:03:15.000000000 +0200
@@ -118,12 +118,11 @@
connection = connections[self.alias]
except ConnectionDoesNotExist as e:
raise ServiceUnavailable("Database alias does not exist") from e
- result = None
try:
compiler = connection.ops.compiler("SQLCompiler")(
_SelectOne(), connection, None
)
- with connection.cursor() as cursor:
+ with connection.temporary_connection() as cursor:
cursor.execute(*compiler.compile(_SelectOne()))
result = cursor.fetchone()
except db.Error as e:
@@ -133,8 +132,6 @@
raise ServiceUnavailable(
"Health Check query did not return the expected result."
)
- finally:
- connection.close_if_unusable_or_obsolete()
@dataclasses.dataclass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-health-check-4.2.1/health_check/contrib/celery.py
new/django-health-check-4.2.2/health_check/contrib/celery.py
--- old/django-health-check-4.2.1/health_check/contrib/celery.py
2026-03-20 14:36:56.000000000 +0100
+++ new/django-health-check-4.2.2/health_check/contrib/celery.py
2026-04-09 18:03:15.000000000 +0200
@@ -66,9 +66,9 @@
defined_queues = {self.app.conf.task_default_queue}
active_queues = {
queue.get("name")
- for queues in self.app.control.inspect(active_workers)
- .active_queues()
- .values()
+ for queues in (
+ self.app.control.inspect(active_workers).active_queues() or {}
+ ).values()
for queue in queues
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/django-health-check-4.2.1/mkdocs.yml
new/django-health-check-4.2.2/mkdocs.yml
--- old/django-health-check-4.2.1/mkdocs.yml 2026-03-20 14:36:56.000000000
+0100
+++ new/django-health-check-4.2.2/mkdocs.yml 2026-04-09 18:03:15.000000000
+0200
@@ -29,7 +29,7 @@
- https://docs.djangoproject.com/en/stable/objects.inv
- https://www.psycopg.org/psycopg3/docs/objects.inv
- https://docs.celeryq.dev/en/stable/objects.inv
- - https://psutil.readthedocs.io/en/latest/objects.inv
+ - https://psutil.readthedocs.io/en/stable/objects.inv
- https://django-storages.readthedocs.io/en/latest/objects.inv
- https://redis.readthedocs.io/en/stable/objects.inv
theme:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/django-health-check-4.2.1/tests/contrib/test_celery.py
new/django-health-check-4.2.2/tests/contrib/test_celery.py
--- old/django-health-check-4.2.1/tests/contrib/test_celery.py 2026-03-20
14:36:56.000000000 +0100
+++ new/django-health-check-4.2.2/tests/contrib/test_celery.py 2026-04-09
18:03:15.000000000 +0200
@@ -158,3 +158,22 @@
result = await check.get_result()
assert result.error is None
+
+ @pytest.mark.asyncio
+ async def test_check_status__none_active_queues(self):
+ """Treat None from inspect.active_queues() as no active queues."""
+ mock_app = mock.MagicMock()
+ mock_app.conf.task_queues = [Queue("default", routing_key="default")]
+ mock_app.conf.task_default_queue = "default"
+ mock_app.control.ping.return_value = [{"celery@worker1": {"ok":
"pong"}}]
+ mock_inspect = mock.MagicMock()
+ mock_inspect.active_queues.return_value = None
+ mock_app.control.inspect.return_value = mock_inspect
+
+ check = CeleryPingHealthCheck()
+ check.app = mock_app
+
+ result = await check.get_result()
+ assert result.error is not None
+ assert isinstance(result.error, ServiceUnavailable)
+ assert "default" in str(result.error)