Skip to content

docs: use release_resources_async in PG async SQLAlchemy example - #1279

Open
AhmadMasry wants to merge 1 commit into
aws:mainfrom
AhmadMasry:fix/pg-async-example-release-resources
Open

AhmadMasry wants to merge 1 commit into
aws:mainfrom
AhmadMasry:fix/pg-async-example-release-resources

Conversation

@AhmadMasry

@AhmadMasry AhmadMasry commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Description

docs/examples/PGSQLAlchemyAsyncFailover.py called the sync release_resources() at shutdown. That doesn't run the async shutdown hooks registered through aws_advanced_python_wrapper.aio.cleanup.register_shutdown_hook. Both plugins in this example's URL register their teardown that way:

  • failover with aurora-pg: the async cluster topology monitor (aio/host_list_provider.py)
  • host_monitoring_v2: the async host monitors (aio/host_monitoring_plugin.py)

As a result those monitor tasks kept running until asyncio.run() cancelled them at exit.

This PR switches the example to await release_resources_async(). That function awaits the registered hooks and then calls the sync release_resources() itself. The change matches the shutdown order in docs/using-the-python-wrapper/SqlAlchemySupport.md and in the aio/cleanup.py docstring, and matches what MySQLSQLAlchemyAsyncFailover.py already does.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

The async example called the sync release_resources(), which never runs
the async shutdown hooks. The failover topology monitor and
host_monitoring_v2 monitors started by this example register their
teardown via register_shutdown_hook, so they were left running until
asyncio.run() cancelled them at exit.

Switch to `await release_resources_async()`, matching the shutdown
ordering in SqlAlchemySupport.md and the MySQL async example.
@AhmadMasry
AhmadMasry force-pushed the fix/pg-async-example-release-resources branch from c9bf6cf to b0e8a43 Compare October 1, 2026 07:04

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant