我正在从主线程运行一个 python(v3.9.16)应用程序,同时单独的工作线程运行一个 asyncio 循环,该循环对数据库进行 SQL 查询(使用 aioodbc v0.5.0)。主线程注册...
我正在从主线程运行一个 python(v3.9.16)应用程序,而单独的工作线程运行一个 asyncio 循环,对数据库进行 SQL 查询(使用 aioodbc v0.5.0)。
主线程使用 atexit 注册关闭函数。当主线程应用程序发出 sys.exit 时,将调用关闭函数,但没有机会正常关闭工作线程。相反,工作线程会立即继续处理在 sys.exit 之前待处理的任何作业(数据库查询),然后抛出以下错误:\'RuntimeError:关闭后无法安排新的 Future\'
请注意,我无法避免使用主线程和工作线程、工作线程中的异步循环以及从主线程调用退出。
有人遇到过类似的问题吗?如果是的话,你能解决这个问题吗?
非常感谢您的任何建议!