python zookeeper 在 uwsgi中 watcher不生效
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不生效的更多相关文章
- zookeeper中Watcher和Notifications
问题导读:1.zookeeper观察者什么时候调用?2.传统远程轮询服务存在什么问题?3.zk中回调服务的机制是什么?4.zk中watcher为什么不永久注册?5.什么是znode? 在阅读之前首先明 ...
- 转:zookeeper中Watcher和Notifications
转自:http://www.tuicool.com/articles/B7FRzm 传统polling远程service服务 传统远程的service往往是这样服务的,服务提供者在远程service注 ...
- 【HBase】zookeeper在HBase中的应用
转自:http://support.huawei.com/ecommunity/bbs/10242721.html Zookeeper在HBase中的应用 HBase部署相对是一个较大的动作,其依赖于 ...
- 云服务器部署Python项目(nginx+uwsgi+mysql+项目)
python项目部署到云服务器 关注公众号"轻松学编程"了解更多. 一.硬件准备 云服务器,系统ubuntu_16_04 . 注意:要在安全组中开放Http的80端口. 二.软件准 ...
- MVC项目中ExecutionTimeout不生效的解决方案
我们做web服务器端开发时,经常会遇到一个需求场景,因为某些耗时处理造成页面的响应处理时间超长,技术角度就想能否给页面处理程序一个指定的超时时间,服务端处理程序执行时间超过这个指定的超时时间则中断处理 ...
- 如何使用Python在Kaggle竞赛中成为Top15
如何使用Python在Kaggle竞赛中成为Top15 Kaggle比赛是一个学习数据科学和投资时间的非常的方式,我自己通过Kaggle学习到了很多数据科学的概念和思想,在我学习编程之后的几个月就开始 ...
- python matplotlib plot 数据中的中文无法正常显示的解决办法
转发自:http://blog.csdn.net/laoyaotask/article/details/22117745?utm_source=tuicool python matplotlib pl ...
- 人们对Python在企业级开发中的10大误解
From : 人们对Python在企业级开发中的10大误解 在PayPal的编程文化中存在着大量的语言多元化.除了长期流行的C++和Java,越来越多的团队选择JavaScript和Scala,Bra ...
- Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>
Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...
随机推荐
- Url有值怎么使用get传值
原来url有数据 test 我们可以$_GET可以获取出来 一般form表单头用get方式都可以满足大多需求 但有一种情况 url里已经有值的时候 用url就会覆盖原来的值 而数据就会丢失 : 数据又 ...
- jQuery(3)——DOM操作
---恢复内容开始--- jQuery中的DOM操作 [DOM操作分类] DOM操作分为DOM Core(核心).HTML-DOM和CSS-DOM三个方面. DOM Core:任何一种支持DOM的 ...
- 快捷高效的cmd命令
经常在网上逛一些博客看一些技术文章,但是每每看过之后又忘记保存,或者东存一下,西存一下,到需要的时候回过头来,往往都找不到了.所以开通这个博客,把看到的好东西都记录下来,以便回头查看,也能与大家分享分 ...
- 360度角转AS3角度
var ang:Number=400; ang=ang%360; //as3角指0~180,0~-180的角 //1. 360度角转as3角 if(ang>180)ang-=360; else ...
- c# windows服务 一个项目安装多个服务
创建windows服务就不讲解了,其它大神写太多了.这里只写一个项目安装多个服务的教程.如:http://www.cnblogs.com/zzgblog/p/4595839.html 首先按下图创建多 ...
- Vue.js + Seajs 实例(包含vue-router使用)
这个Demo 相关JS: Sea.js : Version 2.3.0 seajs-text : Version 2.3.0 vue.js : Version 1.0.24 vue-router: ...
- Mac笔记本中使用postgresql
安装 brew install postgresql 安装了两个依赖包 ==> Installing dependencies for postgresql: openssl, readline ...
- 【转载】Recycle机制
首先要明白,Recycle机制并不是Java中的垃圾回收机制,而是相当于一种设计模式 思想:当一个对象不再使用时,储存起来,而不是让虚拟机回收,需要的时候再用,避免对象被回收之后重分配 适用范围:对于 ...
- H5 - 在线编辑制作
[百度H5商店]http://h5.baidu.com/store [木疙瘩在在线制作]http://www.mugeda.com/ [百度在线制作工具]http://h5.baidu.com/ [易 ...
- 3、Data对象
1.创建part1.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...