Postgres fixes: Concurrency issue, connection leak, and fixes to guard CRUD operations #83
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.
Pull Request Type
Link to Notion Task or Github Issue
Summary of Feature(s)
Summary of Bug Fix(es)
gunicorn
need to useuvicorn
workers (WSGI / ASGI incompatibility) due to the FastAPI switchdb = next(self.get_db())
was essentially causing connections to proliferate due to not being properly closed, so opted for contextmanager approachdb = next(self.get_db())
was causing some changes not to commit properly so deletions / updates weren't working properly due to inconsistent states during db.commitsPrevious Behaviour
UDATE
/DELETE
API CRUD operations were not workingNew Behaviour
UDATE
/DELETE
API CRUD operations workingOther details
util_
methods, these are utility functions which don't create db connections but rather take db sessions as arguments and perform auxiliary actions for the non util functions which are called directly by API controllers and do start db sessionsDependencies