请注意,Zanblog并不支持低于IE8的浏览器,为了获得最佳效果,请下载最新的浏览器,推荐下载 Chrome

关于gevent queue遭遇hub.LoopExit问题

python 2,403 views
我的上下文 “ gevent.hub.LoopExit: This operation would block forever”   ,   使用过gevent queue的朋友估摸会遇到这类问题把?   我几年前就遇到过,当时因为各种原因,可以理解为懒惰,没有深究gevent的报错.     前两天写个小东西的时候,又再次遇到了block fo...
阅读全文 4

关于gevent queue遭遇hub.LoopExit问题

8-07 2,403 views

我的上下文 “ gevent.hub.LoopExit: This operation would block forever”   ,   使用过gevent queue的朋友估摸会遇到这...
阅读全文 4

源码分析之gevent monkey.patch_all实现原理

python 4,627 views
我发现最近总是跟一些python的标准库及第三方的库干上了。 平时没怎么关注,但只要一遇到问题,就想刨根问底分析源代码 ! 这样不仅解决当前问题,还能学习下功能模块是怎么实现的,另外还能学习别人的coder黑技巧. 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。 http://xia...
阅读全文 0

源码分析之gevent monkey.patch_all实现原理

4-27 4,627 views

我发现最近总是跟一些python的标准库及第三方的库干上了。 平时没怎么关注,但只要一遇到问题,就想刨根问底分析源代码 ! 这样不仅解决当前问题,还能学习下...
阅读全文 0

python下multiprocessing和gevent的组合使用

python 6,414 views
对于有些人来说Gevent和multiprocessing组合在一起使用算是个又高大上又奇葩的工作模式.   Python的多线程受制于GIL全局锁的特性,Gevent身为协程也是线程的一种,只是io调度上自己说了算而已。  那么如何使用多个cpu核心? 可以利用多进程mutliprocessing来进行多核并行工作,在多进程里面使用geve...
阅读全文 1

python下multiprocessing和gevent的组合使用

1-17 6,414 views

对于有些人来说Gevent和multiprocessing组合在一起使用算是个又高大上又奇葩的工作模式.   Python的多线程受制于GIL全局锁的特性,Gevent身为协...
阅读全文 1

使用gevent wsgi实现长轮询Long Polling和comet

web 6,776 views
就不罗嗦了,对于实时数据的输出也这么几种,客户端自己ajax,Long Polling长轮询,comet,websocket… 当然websocket是我比较常用的,也算擅长的,曾经在实时大屏幕监控中用过websocket的协议….  今天,咱们就先说下Long Polling 首先我们先看轮询(Polling)是什么?  Polling是指不...
阅读全文 0

使用gevent wsgi实现长轮询Long Polling和comet

6-27 6,776 views

就不罗嗦了,对于实时数据的输出也这么几种,客户端自己ajax,Long Polling长轮询,comet,websocket… 当然websocket是我比较常用的,也算擅...
阅读全文 0

gevent源代码分析之用gevent threadpool实现多进程任务调度

python 7,392 views
这两天出了两个事故,一个是因为正负面的接口被被人疯狂访问而变得堵塞,导致整个动态网页解析解析的崩溃,最后redis挂掉。 还有一个事情是动态ip轮询模块的bug。。。 多事之秋呀。  这几个晚上一直尝试看gevent的源代码,收获特别的大,gevent本身的一些实现就特别的灵巧,背靠这内核的epoll调度,实现一系列的i...
阅读全文 3

gevent源代码分析之用gevent threadpool实现多进程任务调度

5-29 7,392 views

这两天出了两个事故,一个是因为正负面的接口被被人疯狂访问而变得堵塞,导致整个动态网页解析解析的崩溃,最后redis挂掉。 还有一个事情是动态ip轮询模块...
阅读全文 3

在python中使用gevent subprocess实现shell调用

python 6,387 views
有个人问我gevent怎么实现非堵塞的系统调用,当然threading是可以实现的, 但是大家知道threading是不太可控的。 python实现系统调用的模块还是很多的,比如subprocess,os popen,commands等。  现在高并发的服务基本都是这种协程实现的。 协程是个用户态的东西,相比线程的时间片的调度来说,他可以自己控制调度...
阅读全文 0

在python中使用gevent subprocess实现shell调用

5-28 6,387 views

有个人问我gevent怎么实现非堵塞的系统调用,当然threading是可以实现的, 但是大家知道threading是不太可控的。 python实现系统调用的模块还是很多的,比...
阅读全文 0

python使用gipc实现gevent的多进程及ipc通信

python 6,704 views
今天在和FK聊天的时候,聊到了利用gevent的多进程模式,我和他交流了下,我的用法,其实模仿了php-fpm的进程模式,就是fork进程,然后开辟一个队列,这个队列是放链接的对象,然后每个进程里面也有一个gevent pool池另外还附带一个队列 。   main Thred的队列是用来存放用户请求的链接对象,子进程的队列是根据ge...
阅读全文 1

python使用gipc实现gevent的多进程及ipc通信

12-22 6,704 views

今天在和FK聊天的时候,聊到了利用gevent的多进程模式,我和他交流了下,我的用法,其实模仿了php-fpm的进程模式,就是fork进程,然后开辟一个队列,这个队...
阅读全文 1

socket服务端开发之测试使用threading和gevent框架

python 6,824 views
这篇文章是去年写的,今个拿出来分享下。 话题是测试下多线程和gevent在socket服务端的小包表现能力,测试的方法不太严谨,也没有用event loop + pool池的概念。不管是gevent和threading有pool的情况下,确实很省资源,但是固定的pool线程池容易在突发事件中被堵塞住。 另外提一句,劲量少用multiprocessing,因为...
阅读全文 0

socket服务端开发之测试使用threading和gevent框架

11-14 6,824 views

这篇文章是去年写的,今个拿出来分享下。 话题是测试下多线程和gevent在socket服务端的小包表现能力,测试的方法不太严谨,也没有用event loop + pool池...
阅读全文 0

谈谈gevent的协程间通信及队列和事件event用法

python 6,899 views
前言:     今天就写点gevent的高级点的用法,对于我来说 这些也是常用的gevent模块。 gevent的AsyncResutl模块的用途,看字眼的意思是一个异步的任务的结果。 其实官方的说法也让人有些发蒙。  其实说白了就是协程间的通信,我是老板,让大哥和小弟同事去收账,小弟做完了...
阅读全文 1

谈谈gevent的协程间通信及队列和事件event用法

9-11 6,899 views

前言:     今天就写点gevent的高级点的用法,对于我来说 这些也是常用的gevent模块。 gevent的AsyncResutl模块的用...
阅读全文 1

gevent安装的一个问题

python 5,041 views
gevent/core.c:17653: 警告:隐式声明函数‘evhttp_free’ gevent/core.c: 在函数‘__pyx_pf_6gevent_4core_4http_6bind’中: gevent/core.c:17886: 警告:隐式声明函数‘evhttp_bind_socket’ gevent/core.c: 在函数‘__pyx_pf_6gevent_4core_4http_8accept’中: gevent/core.c:18002: 警告:隐式声明函数‘evhttp_accept_socket...
阅读全文 0

gevent安装的一个问题

5-27 5,041 views

gevent/core.c:17653: 警告:隐式声明函数‘evhttp_free’ gevent/core.c: 在函数‘__pyx_pf_6gevent_4core_4http_6bind’中: gevent/core.c:17886: 警告:隐式声...
阅读全文 0