python 解决flask uwsgi 获取不到全局变量的问题

yipeiwu_com7年前Python基础

问题

在写flask,使用uwsgi启动的时候,涉及到多request线程访问同一个全局变量,发现不能获取到全局变量的值的修改,这在flask独立启动的时候是没有问题的。

伪代码

全局变量

@app.route('/request1/')
  def 函数1
    修改全局变量

@app.route('/request2/')
  def 函数2
    获取全局变量

严重怀疑是uwsgi的线程机制的问题,因为uwsgi是可以指定子进程的数目的,然而我设置子进程数目为1,之后,在处理函数1的时候是不能同时处理函数2的,怎么说,有点类似于javaweb中,uwsgi为了线程的并发,独立运行了多个进程,所以具有多个全局变量?

解决办法

想不改动源码直接从uwsgi上解决,搜索很久都没找到解决办法

找到一个别人从坑里爬起来的方法,就是用数据库等线程安全并且可以让多个线程公共访问的区域中存放数据,这样就能解决了。感觉数据库要用个sqlite才是最方便的。

以上这篇python 解决flask uwsgi 获取不到全局变量的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

PyCharm 创建指定版本的 Django(超详图解教程)

PyCharm 创建指定版本的 Django(超详图解教程)

最近在学习胡阳老师(the5fire)的《Django企业级开发实战》,想要使用pycharm创建django项目时,在使用virtualenv创建虚拟环境后,在pycharm内,无论如...

Python实现简单字典树的方法

本文实例讲述了Python实现简单字典树的方法。分享给大家供大家参考,具体如下: #coding=utf8 """代码实现了最简单的字典树,只支持由小写字母组成的字符串。 在此代码基...

详解python中docx库的安装过程

详解python中docx库的安装过程

python中docx库的简介 python-docx包,这是一个很强大的包,可以用来创建docx文档,包含段落、分页符、表格、图片、标题、样式等几乎所有的word文档中能常用的功能都包...

python生成器generator用法实例分析

本文实例讲述了python生成器generator用法。分享给大家供大家参考。具体如下: 使用yield,可以让函数生成一个结果序列,而不仅仅是一个值 例如: def countdo...

python获取点击的坐标画图形的方法

获取输入的五个点画五边形 def pentagonUpdate(): p = {} win = GraphWin("Click", 800, 300)#后面两个值为窗体的长和...