def code_watcher(handle,type, state, path):

    print "zk code watcher,path is: ",path

#data = zk.get(settings.ZKPATH_CODE,code_watcher)

    data = zookeeper.get(zk,settings.ZKPATH_CODE,code_watcher)

    code_json = json.loads(data[0])

    with open("./code_by_client.py",'w') as f:

        for line in code_json:

            f.write(line+'\n')

    reload(code_by_client) 





def generate_client_code():

    print "zk code,path is: ",settings.ZKPATH_CODE

#data = zk.get(settings.ZKPATH_CODE,code_watcher)

    data = zookeeper.get(zk,settings.ZKPATH_CODE,code_watcher) 

    code_json = json.loads(data[0])

    with open("./code_by_client.py",'w') as f:

        for line in code_json:

f.write(line+'\n')

原因是uwsgi没有开启多线程,而我们调用的zookeeper.so是需要多线程的。

修改uwsgi配置,加上一行 <enable-threads>1</enable-threads>,如下,

<uwsgi>

  <!--

  <cluster>225.1.1.1:3333</cluster>

  <socket>192.168.60.*:3031</socket>

  <http>127.0.0.1:3031</http>

  -->

  <http>192.168.61.89:3456</http>

  <pythonpath>../</pythonpath>

  <module>service</module>

  <master>1</master>

  <processes>4</processes>

  <disable-logging />

  <daemonize>logs/uwsgi_bfdds.log</daemonize>

  <buffer-size>16384</buffer-size>

  <harakiri>5</harakiri>

  <pidfile>uwsgi_bfdds.pid</pidfile>

  <stats>127.0.0.1:3457</stats>

  <enable-threads>1</enable-threads>

</uwsgi>

python zookeeper 在 uwsgi中 watcher不生效的更多相关文章

  1. zookeeper中Watcher和Notifications

    问题导读:1.zookeeper观察者什么时候调用?2.传统远程轮询服务存在什么问题?3.zk中回调服务的机制是什么?4.zk中watcher为什么不永久注册?5.什么是znode? 在阅读之前首先明 ...

  2. 转:zookeeper中Watcher和Notifications

    转自:http://www.tuicool.com/articles/B7FRzm 传统polling远程service服务 传统远程的service往往是这样服务的,服务提供者在远程service注 ...

  3. 【HBase】zookeeper在HBase中的应用

    转自:http://support.huawei.com/ecommunity/bbs/10242721.html Zookeeper在HBase中的应用 HBase部署相对是一个较大的动作,其依赖于 ...

  4. 云服务器部署Python项目(nginx+uwsgi+mysql+项目)

    python项目部署到云服务器 关注公众号"轻松学编程"了解更多. 一.硬件准备 云服务器,系统ubuntu_16_04 . 注意:要在安全组中开放Http的80端口. 二.软件准 ...

  5. MVC项目中ExecutionTimeout不生效的解决方案

    我们做web服务器端开发时,经常会遇到一个需求场景,因为某些耗时处理造成页面的响应处理时间超长,技术角度就想能否给页面处理程序一个指定的超时时间,服务端处理程序执行时间超过这个指定的超时时间则中断处理 ...

  6. 如何使用Python在Kaggle竞赛中成为Top15

    如何使用Python在Kaggle竞赛中成为Top15 Kaggle比赛是一个学习数据科学和投资时间的非常的方式,我自己通过Kaggle学习到了很多数据科学的概念和思想,在我学习编程之后的几个月就开始 ...

  7. python matplotlib plot 数据中的中文无法正常显示的解决办法

    转发自:http://blog.csdn.net/laoyaotask/article/details/22117745?utm_source=tuicool python matplotlib pl ...

  8. 人们对Python在企业级开发中的10大误解

    From : 人们对Python在企业级开发中的10大误解 在PayPal的编程文化中存在着大量的语言多元化.除了长期流行的C++和Java,越来越多的团队选择JavaScript和Scala,Bra ...

  9. Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>

    Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...

随机推荐

  1. zstu 4214 高楼扔鸡蛋(google 面试题)dp

    input T 1<=T<=10000 n m 1<=n<=2000000007 1<=m<=32 output m个鸡蛋从1到n哪一楼x扔下去刚好没碎,而再x+1 ...

  2. 寒假学干货之------初步布局Layout

    在开发的最初,需要设计好我们的Activity,在res/layout下,找到**activitymian(名字都差不多的)的.xml文件,打开他就可以开始编辑. http://www.tuicool ...

  3. hibernate 和 jdbc 优缺点对比

    jdbc缺点: 1.编程繁琐,用的try和catch比较多 2.jdbc没有对数据做缓存 3.没有做到面向对象编程 4.sql语句的跨平台性很差 jdbc优点: 效率比较高 hibernate的优点: ...

  4. JavaScript 执行环境(执行上下文) 变量对象 作用域链 上下文 块级作用域 私有变量和特权方法

    总结自<高程三>第四章  理解Javascript_12_执行模型浅析   JS的执行环境与作用域  javascript高级程序第三版学习笔记[执行环境.作用域] 在javascript ...

  5. java 枚举类型和数据二进制等问题思考

    .以下代码的输出结果是什么? int X=100; int Y=200; System.out.println("X+Y="+X+Y); System.out.println(X+ ...

  6. 第四天 内置函数2 随机码 装饰器 迭代器、生成器 递归 冒泡算法 JSON

    关于函数的return li = [11,22,33,44] def f1(arg): arg.append(55) li = f1(li) print(li) 因为li = f1(li) 实际赋值的 ...

  7. css3 div垂直居中

    css3: #dd{ height: 300px; background: #0000cc; display: -webkit-box; display: flex; display: -webkit ...

  8. 一个简单的jQuery插件开发实例

    两年前写的一个简单的jQuery插件开发实例,还是可以看看的: <script type="text/javascript" src="jquery-1.7.2.m ...

  9. Chapter 2 Open Book——29

    Which left me with nothing to do but try to not look at him…unsuccessfully. 我没什么事情可以做但是我尝试不去看他,但是失败了 ...

  10. HttpWebRequest的简单使用

    新建新的空网站和一个default.aspx页面测试,实验例子: using System; using System.Collections.Generic; using System.IO; us ...