我有一个Flask应用程序,在app.ini
文件中使用这些设置在uwsgi后面运行:
...
processes=1
threads=2
...
应用程序在具有通用刻录结构的单个文件中定义:
@app.route('/endpoint/')
def endpoint():
...
我也使用pylibmc来访问ElastiCache,但是考虑到uwsgi会产生线程和进程,并且pylibmc.Client非常非线程安全,因此我会遇到很多错误。
当然这需要你让池知道线程是什么时候 完成了它的保留实例,因此必须
relinquish
在线程退出之前调用。
但我不会手工生成线程,所以我不知道在哪里定义析构函数来调用池上的relinquish
以避免死连接。
问题是:如何在uwsgi隐式创建线程的设置中定义线程析构函数?