小编Rad*_*odó的帖子

为什么使用应用程序工厂模式时,Flask 应用程序上下文会在子线程中丢失?

有点神秘的问题。

当所有代码都放在单个文件中时,从 Flask 应用程序生成线程效果很好app.py,但是当使用工厂模式时,应用程序上下文会丢失。

Exception in thread Thread-2:
Traceback (most recent call last):
  File "/XXX/flaskthreading/venv/lib/python3.9/site-packages/sqlalchemy/util/_collections.py", line 1008, in __call__
127.0.0.1 - - [07/Jun/2022 14:06:53] "GET / HTTP/1.1" 200 -
    return self.registry[key]
KeyError: <greenlet.greenlet object at 0x7f4f541ad040 (otid=0x7f4f54199d00) current active started main>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.9/threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "/XXX/flaskthreading/app2/views.py", line 12, in printer
    print(User.query.all())
  File …
Run Code Online (Sandbox Code Playgroud)

python multithreading flask

2
推荐指数
1
解决办法
1772
查看次数

标签 统计

flask ×1

multithreading ×1

python ×1