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

yipeiwu_com5年前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设计】。

相关文章

Python面向对象编程基础解析(二)

Python最近挺火呀,比鹿晗薛之谦还要火,当然是在程序员之间。下面我们看看有关Python的相关内容。 上一篇文章我们已经介绍了部分Python面向对象编程基础的知识,大家可以参阅:P...

Django在Win7下的安装及创建项目hello word简明教程

python广受欢迎的编程语言之一,本文简述了python 的django 框架安装与开发。 Django在Win7下的安装及创建项目hello word,相对而言非常简单,这里直接给出...

Django中使用 Closure Table 储存无限分级数据

这篇文章给大家介绍Django中使用 Closure Table 储存无限分级数据,具体内容如下所述: 起步 对于数据量大的情况(比如用户之间有邀请链,有点三级分销的意思),就要用到 c...

Python实现求解括号匹配问题的方法

Python实现求解括号匹配问题的方法

本文实例讲述了Python实现求解括号匹配问题的方法。分享给大家供大家参考,具体如下: 这个在本科学习数据结构的时候已经接触很多了,主流的思想是借助栈的压入、弹出来进行匹配,至于pyth...

使用Python写个小监控

1.入门 首先你得用过C/C++、java、Javascript等的一种,编程小白估计比较艰难,有一定编程经验的python小白相对简单些。 1.1 Hello World! Pytho...