Fix hot reloading for Python 3.9 #182
Open
+14
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #178
Move
asyncio.Event
creation to lifespanThis PR moves the creation of the
asyncio.Event
fromRebuildServer.__init__
to the Starlette lifespan to ensure it's created within the event loop context. This resolves the error we were seeing due to the event loop not being available during initialization.Added a rebuild test
Warning
Tests fail erratically.
There's a high probability that executing lifespan in the test code is causing
pytest
command to randomly fail after successful test runs. Please retry the CI. It's truly random:FATAL: exception not rethrown
. I suspect this is due to the interaction between Starlette's TestClient, anyio threads, or related dependencies, but haven't found a solution yet.While I'm satisfied with the test code itself, should I consider removing the test? Manual testing has been successful.