Correct usage of sqlalchemy scoped_session with python asyncio(正确使用python asyncio中的sqlalChemy scope ed_session)
问题描述
我正在使用Asyncio构建一个应用程序。我将使用sqlalChemy作为orm。 据我所知,Scope_Session将一个会话与一个线程相关联,这样它们就不会与彼此的操作相关联。 现在,由于asyncio在单个线程上工作,并且我认为Scope_Session将不能正常工作,这将导致问题。 将sqlalChemical会话与Asyncio一起使用的正确方式是什么?
推荐答案
答案取决于您的代码。
一般来说,您可以使用sessionmaker创建会话工厂并自行使用。
如果您的代码具有隐式上下文,则可以将scoped_session
与自定义scopefunc
一起使用,如example中所示。
隐式上下文可以利用asyncio.Task.current_task()调用,但您还需要找到销毁作用域会话的方法。
这篇关于正确使用python asyncio中的sqlalChemy scope ed_session的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!