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 ...
随机推荐
- 如何判断Socket已经关闭
引子 前段时间我们的服务由于一台交换机网络出现故障,导致数据库连接不上,但是在数据库的连接超时参数设置不合理,connect timeout设置的过长,导致接口耗时增加.DB连接超时后线程未正常结束, ...
- CentOS 7.0 64位 安装TFTP
1.安装tftp软件# yum -y install tftp*2.修改配置文件 # vi /etc/xinetd.d/tftp server_args = -s /tftpboot '加-cdisa ...
- iScroll屏幕滑动函数封装总结
//iScroll.js屏幕滚动函数 function funScroll(a,b) { var d; function beforload() { d = new iScroll(a, { chec ...
- 第一百一十二节,JavaScript浏览器检测
JavaScript浏览器检测 学习要点: 1.navigator对象 2.客户端检测 由于每个浏览器都具有自己独到的扩展,所以在开发阶段来判断浏览器是一个非常重要的步骤.虽然浏览器开发商在公共接口方 ...
- iOS开发讯飞语音的集成
1.进入官网注册账号,登陆,注册,应用. 2,下载sdk 导入系统库. 3,关闭bitcode 4,初始化讯飞语音. NSString * initString = [[NSString alloc ...
- java中的日期处理
学习Java日期处理,看见这一篇比较详细,转载之. 转自:http://www.cnblogs.com/hqr9313/archive/2012/04/19/2458221.html 时间日期1) ...
- dplyr 数据操作 统计描述(summarise)
在R中,summary()是一个基础包中的重要统计描述函数,同样的在dplyr中summarise()函数也可以对数据进行统计描述. 不同的是summarise()更加的灵活多变,下面来看下summa ...
- 高精度之+×÷
以下是三种高精度算术的模版: 高精度加法: ",s1,s2; ],ss2[],len; void dashu(string s1,int ss1[]) { ;i>=;i--) { ;j ...
- hdu_2328_Corporate Identity(暴力枚举子串+KMP)
题目链接:hdu_2328_Corporate Identity 题意: 给你n个串,让你找这n个串的最大公共子串 题解: 串比较小,暴力枚举第一个的子串,然后KMP判断是否可行 #include&l ...
- Delphi用ADOquery主从表例子(转)
http://blog.csdn.net/kandy_zheng/article/details/1639184 在sql server 的northwide 中建立主表 create table s ...