You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Feature Request: Support for Synchronous Database Sessions
Is your feature request related to a problem?
No, this is a new feature proposal.
Proposed Solution
I'd like to discuss options for integrating support for synchronous database sessions. I'm open to implementing this myself, but I'd appreciate opinions on the best approach. Here are some potential solutions I've considered:
Separate Synchronous Classes
Create new SyncFastCrud class and sync_crud_router instance
Drawback: This would introduce significant code redundancy
Dual Function Approach (Similar to Langchain)
Introduce separate functions for sync and async operations
Example: create for sync and acreate for async
Implementation: Check if the passed db is a Session or AsyncSession
Artificial Session Wrapper
Create a wrapper to convert sync Sessions into AsyncSessions
Use run_in_threadpool (which FastAPI would do internally for the previous two proposals)
I'm open to other ideas and would appreciate any feedback or alternative suggestions.
The text was updated successfully, but these errors were encountered:
Yes, I agree. I think the most "FastAPI" solution would be to keep the entire sync process synchronous as fastapi will automatically run that in the thread pool and will ensure that no extra "magic" is occurring behind the hood.
Feature Request: Support for Synchronous Database Sessions
Is your feature request related to a problem?
No, this is a new feature proposal.
Proposed Solution
I'd like to discuss options for integrating support for synchronous database sessions. I'm open to implementing this myself, but I'd appreciate opinions on the best approach. Here are some potential solutions I've considered:
Separate Synchronous Classes
SyncFastCrud
class andsync_crud_router
instanceDual Function Approach (Similar to Langchain)
create
for sync andacreate
for asyncSession
orAsyncSession
Artificial Session Wrapper
Session
s intoAsyncSession
srun_in_threadpool
(which FastAPI would do internally for the previous two proposals)I'm open to other ideas and would appreciate any feedback or alternative suggestions.
The text was updated successfully, but these errors were encountered: