python supervisor管理进程时遇到的问题

python,运维 5,973 views
记得第一次用supervisor的时候,这supervisor还毫无名气….  陆续用了他好几年,后来哥们自己搞了一个简易的supervisor,https://github.com/rfyiamcool/ArbiterHandler 废话不多说. 说说今天这事吧,本来是打算通过supervisord启动程序的时候, 出现...
阅读全文 0

python supervisor管理进程时遇到的问题

12-21 5,973 views

记得第一次用supervisor的时候,这supervisor还毫无名气….  陆续用了他好几年,后来哥们自己搞了一个简易的supervisor,https://github.com/rfyia...
阅读全文 0

python rq的定时及计划任务(delay)实现

python 6,265 views
前言: python rq是个不错的任务队列服务,就因为他小而精,所有在一定程度上比celery都要受到欢迎。 最近有个需求让我不得不想喷他,他没有定时执行的功能,很多时候我并不想直接就执行执行。 起初有个简单的想法,想把任务丢给处理函数后,一直在sleep,直到任务...
阅读全文 1

python rq的定时及计划任务(delay)实现

12-15 6,265 views

前言: python rq是个不错的任务队列服务,就因为他小而精,所有在一定程度上比celery都要受到欢迎。 最近有个需求让我不得不想喷他,他没有定时执行的功能...
阅读全文 1

使用python实现redis的ack(commit)确认机制

python 5,560 views
题外,因为抢火车票的原因,颇有些年味的感觉。值得庆幸的是成功的购票。  正题,跟朋友聊起现在的消息队列,虽然现在的消息队列服务端繁多,但因为业务的原因,往往就那几个选择。 要安全和功能? rabbitmq ,但他的性能确实一般。 zeromq性能是好,...
阅读全文 0

使用python实现redis的ack(commit)确认机制

12-11 5,560 views

题外,因为抢火车票的原因,颇有些年味的感觉。值得庆幸的是成功的购票。  正题,跟朋友聊起现在的消息队列,虽然现在的消息队列服务端繁多,...
阅读全文 0

通过python metrics计算应用性能指标

python 4,423 views
前言:      最近公司在折腾应用级别的性能监控,现在已经有C、Java的版本了。 貌似还缺少我们组专用的Python版本。 现在做Metrics的公司有OneApm,就在我们的楼上。  oneapm的各种计算统计的api和dashboard面板虽然很好用,毕竟还是需要付...
阅读全文 0

通过python metrics计算应用性能指标

12-04 4,423 views

前言:      最近公司在折腾应用级别的性能监控,现在已经有C、Java的版本了。 貌似还缺少我们组专用的Python版本。 现在做Metrics的公司...
阅读全文 0

使用socket so_reuseport提高服务端性能

python,运维 9,707 views
以前就在国外的论坛接触过SO_REUSEPORT,这两天朋友群又在传播nginx 1.9 reuseport多进程监听参数。那咱们简单说下SO_REUSEPORT的应用场景, 为什么会用他? 然而在讲解SO_REUSEPORT之前,需要先说下我们常用的网络模型。 文章写得不太严谨, 请砖家...
阅读全文 3

使用socket so_reuseport提高服务端性能

12-02 9,707 views

以前就在国外的论坛接触过SO_REUSEPORT,这两天朋友群又在传播nginx 1.9 reuseport多进程监听参数。那咱们简单说下SO_REUSEPORT的应用场景, 为什么...
阅读全文 3

使用python fcntl实现本地文件互斥锁

python 4,288 views
文件互斥锁是什么?  他的应用场景又是什么?  这是我前段是开发的一个模块,主要用途是避免了多个程序多个进程需要数据安全.  可能场景我没有描述清楚,简单描述就是,解决多进程下需要的互斥锁的场景.. 对于互斥锁,我开发的,提交过的项目代码...
阅读全文 0

使用python fcntl实现本地文件互斥锁

11-29 4,288 views

文件互斥锁是什么?  他的应用场景又是什么?  这是我前段是开发的一个模块,主要用途是避免了多个程序多个进程需要数据安全.  可能场景我...
阅读全文 0

阅读gunicorn源代码理解worker工作流程

python 4,431 views
python的gunicorn我想大家都知道,他是个能快速让web程序支持多并发的模块…  我想大家对于gunicorn不是很了解,这边就简单的说下gunicorn的工作流程… 其实实现gunicorn本身那套东西不太难,但是理解gunicorn那套东西,尤其是看懂其代码,那真是很...
阅读全文 0

阅读gunicorn源代码理解worker工作流程

4,431 views

python的gunicorn我想大家都知道,他是个能快速让web程序支持多并发的模块…  我想大家对于gunicorn不是很了解,这边就简单的说下gunicorn的工作...
阅读全文 0

使用redis实现分布式的函数调用限频

python 8,368 views
前言,什么是函数限制频率? 控频的应用场景又是什么?  在python下控频可以理解为函数的调用频率,原因可能因为多方面. 频率一般是一定时间内,调用的次数,如果超过我们规定的次数,或者报错,或者堵塞接口。 那他的应用场景又是什么?  比如同事写了一个...
阅读全文 0

使用redis实现分布式的函数调用限频

11-27 8,368 views

前言,什么是函数限制频率? 控频的应用场景又是什么?  在python下控频可以理解为函数的调用频率,原因可能因为多方面. 频率一般是一定时间内,调用的次...
阅读全文 0

描述python实现读写锁rwlock及场景

python 5,291 views
读写锁比mutex有更高的适用性,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁; 1,当读写锁是写加锁状态时, 在这个锁被解锁之前, 所有试图对这个锁加锁的线程都会被阻塞. 2,当读写锁在读加锁状态时, 所有试图以读模式对它进行加锁的线...
阅读全文 0

描述python实现读写锁rwlock及场景

11-26 5,291 views

读写锁比mutex有更高的适用性,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁; 1,当读写锁是写加锁状态时, 在这个锁被解锁之...
阅读全文 0

关于使用python来实现redis和mysql的连接池

python 5,415 views
有朋友问我连接池是怎么实现的,我曾经写过一个python mysql的连接池库,他的原理就是利用python queue或则是list实现的。具体点就是一开始构造实例化对象的时候,预先在一个队列里放入指定数目的链接对象。  那么这样的话,每次我们要调用链接对象的...
阅读全文 0

关于使用python来实现redis和mysql的连接池

11-18 5,415 views

有朋友问我连接池是怎么实现的,我曾经写过一个python mysql的连接池库,他的原理就是利用python queue或则是list实现的。具体点就是一开始构造实例化对象...
阅读全文 0

使用tornado打造异步高并发的rpc server服务

python 6,237 views
前段时间自己在家闲着没事干,就整理了以前的没有写完的rpc服务。这是一个用tornado来实现的rpc服务,我们知道tornado最令人诟病的是不能随意的用阻塞模块。 怎么就是阻塞的模块?在现在分布式api开发应用中,很多时候访问速度慢是由于网络io阻塞引起的,而不是因...
阅读全文 0

使用tornado打造异步高并发的rpc server服务

11-16 6,237 views

前段时间自己在家闲着没事干,就整理了以前的没有写完的rpc服务。这是一个用tornado来实现的rpc服务,我们知道tornado最令人诟病的是不能随意的用阻塞模块...
阅读全文 0

用multiprocessing封装python rq worker多进程模式

python 6,194 views
又要说起rq了,python的rq是个简单到没朋友的任务队列。 记得去年以前用的都是celery,但自从看了接触rq并看了代码片段后,发现实现这东西实现很是有意思。 这边有个场景需要启动多个rqworker,但是rq可能就是因为他太简单,有些功能还没做… 比如我现在说的...
阅读全文 0

用multiprocessing封装python rq worker多进程模式

11-14 6,194 views

又要说起rq了,python的rq是个简单到没朋友的任务队列。 记得去年以前用的都是celery,但自从看了接触rq并看了代码片段后,发现实现这东西实现很是有意思...
阅读全文 0

解决python rq获取返回结果和异常的问题

python 5,089 views
首先说明下python rq的一个错误提示  Functions from the __main__ module cannot be processed ,  这个提示是在enqueue的时候发生的,他会检测你真正干活的模块是否跟rq.enqueue是在同一个模块。 RQ 暂时是不支持的在一起的。  文章后期会...
阅读全文 0

解决python rq获取返回结果和异常的问题

11-11 5,089 views

首先说明下python rq的一个错误提示  Functions from the __main__ module cannot be processed ,  这个提示是在enqueue的时候发生的,他会检测...
阅读全文 0

使用python解析抽取url中各级域名信息

python 5,007 views
使用python解析抽取url中各级域名信息 又是周五了,又有饭局了….  大家在分析日志及数据分析的时候,会遇到一些url抽取域名信息的需求。虽然urlparse可以把所有的域名给提取出来,但是不能精确到一级域名,二级域名,x级域名。 下面是我封装的一个小模块...
阅读全文 0

使用python解析抽取url中各级域名信息

11-06 5,007 views

使用python解析抽取url中各级域名信息 又是周五了,又有饭局了….  大家在分析日志及数据分析的时候,会遇到一些url抽取域名信息的需求。虽然urlpa...
阅读全文 0

理解python的multiprocessing.pool threadpool多线程

python 7,276 views
起因,我用多线程去用访问elasticsearch api时候,想拿到es返回的search结果。 默认python threading是不能获取返回的结果的。 有这么几种方式可以取到多线程执行后的结果 .   1. 使用Queue队列的方式. 2. 使用共享变量的问题 文章的笔误太多,想修改的时候...
阅读全文 0

理解python的multiprocessing.pool threadpool多线程

11-03 7,276 views

起因,我用多线程去用访问elasticsearch api时候,想拿到es返回的search结果。 默认python threading是不能获取返回的结果的。 有这么几种方式可以取到多线...
阅读全文 0

聊聊python elasticsearch聚合计算的用法

elasticsearch,python 6,891 views
今朋友问我关于python elasticsearch aggs的问题,虽然我自己也经常使用es,但因为业务的关系,能用到的elasticsearch语句来来回回就那些,然后再来回套用那几个DSL局域就可以了…  趁着这次跟别人交流的机会,我也把elasticsearch aggs聚合计算也好好的...
阅读全文 0

聊聊python elasticsearch聚合计算的用法

11-01 6,891 views

今朋友问我关于python elasticsearch aggs的问题,虽然我自己也经常使用es,但因为业务的关系,能用到的elasticsearch语句来来回回就那些,然后再来回套用...
阅读全文 0

从源码分析python批量插入elasticsearch的实现

elasticsearch,python 5,965 views
看了elasticsearch python的一些源码,现在看到bulk批量操作.  发现网上对于elasticsearch批量插入的文章有些少,我在这里就简单描述下es bulk的各个接口。  最近爬虫太粗暴了,文章总是被转走. 这里标注下原文链接 http://xiaorui.cc/?p=2...
阅读全文 0

从源码分析python批量插入elasticsearch的实现

10-30 5,965 views

看了elasticsearch python的一些源码,现在看到bulk批量操作.  发现网上对于elasticsearch批量插入的文章有些少,我在这里就简单描述下es bulk的各个...
阅读全文 0

简化gunicorn源代码打造Master Worker进程管理框架

python,架构设计 6,197 views
我在github中提交了不少大大小小的项目,很多时候因为在公司场景中用到的项目,就想当然的以为别的公司肯定也有用到。但是到头来,会发现我开源的那些项目反映其实不怎么热烈,换个意思来表达就是很是冷淡,每次的一时兴起把所写东西提交到github、pypi,但换回来...
阅读全文 5

简化gunicorn源代码打造Master Worker进程管理框架

10-25 6,197 views

我在github中提交了不少大大小小的项目,很多时候因为在公司场景中用到的项目,就想当然的以为别的公司肯定也有用到。但是到头来,会发现我开源的那些项目...
阅读全文 5

开源项目之调试python应用生成性能cpu火焰图

python 5,577 views
前几天听了杨博同学的分享,是关于如果使用Systemtap火焰图分析python的性能问题..  有些感触. 以前做运维的时候,总是折腾火焰图来分析业务性能.  现在反而转作开发后,没怎么用火焰图来分析问题.   这次我把cpu火焰图的功能封装模块.  使用...
阅读全文 0

开源项目之调试python应用生成性能cpu火焰图

10-22 5,577 views

前几天听了杨博同学的分享,是关于如果使用Systemtap火焰图分析python的性能问题..  有些感触. 以前做运维的时候,总是折腾火焰图来分析业务性能. &nb...
阅读全文 0

体验使用mysqldb操作mysql5.7的json类型

python 5,393 views
看到推送的消息说,mysql 5.7 ga版本出来了,说是有更好的性能,对于多核CPU、固态硬盘、锁有着更好的优化。在这一版本里面,mysql也终于有了json数据结构,虽说现在还不能跟mongodb这样的文档性数据库做比拟,但这已经是关系型数据库的一大改进了。  mysql...
阅读全文 2

体验使用mysqldb操作mysql5.7的json类型

10-21 5,393 views

看到推送的消息说,mysql 5.7 ga版本出来了,说是有更好的性能,对于多核CPU、固态硬盘、锁有着更好的优化。在这一版本里面,mysql也终于有了json数据结构,...
阅读全文 2

使用tornado实现elasticsearch的权限控制

elasticsearch,python 6,806 views
前言:     公司的应用监控平台又要有所变动了,准备把opentsdb给剔除,改用elasticsearch后端存储。去掉opentsdb的原因很简单,因为在数据量大的时候,hbase rowkey的效率达不到快速返回的需求,尤其针对聚合计算效率低。Opentsdb不支持二级索引...
阅读全文 1

使用tornado实现elasticsearch的权限控制

10-19 6,806 views

前言:     公司的应用监控平台又要有所变动了,准备把opentsdb给剔除,改用elasticsearch后端存储。去掉opentsdb的原因很简单,因为在数...
阅读全文 1