Programming

Python async tasks remain pending when service shuts down

Environment

Environment

Python asyncio service consuming jobs from RabbitMQ.

What happens

What happens

Deployments log Task was destroyed but it is pending and some messages are redelivered.

What I have tried

What I have tried

Closed the queue connection in a finally block.

I would appreciate advice on how to identify the root cause without risking existing data or configuration.

COMMUNITY RESPONSES

Verified community troubleshooting

0 replies

No answers yet..

Showing 0 of 0 community responses
AI DIAGNOSTICS

Incident analysis

Updated 3w ago• Trouble ID

Most likely causes

The event loop closes before consumers finish cancellation and acknowledgement cleanup. 76%
A recent software, firmware or configuration change is exposing an existing compatibility issue. 28%

Summary

The reported behaviour is consistent with the event loop closes before consumers finish cancellation and acknowledgement cleanup. The safest next step is to verify that hypothesis with a reversible test before making permanent configuration changes.

Suggested Fixes

Verify the likely cause
Stop accepting work, cancel consumers, await gathered tasks with return_exceptions and close the connection before ending the loop.
Validate and monitor
Reproduce the issue once after the change, review relevant logs or metrics, and keep a rollback path until the system has remained stable.