Tag: gevent

Eventlet或gevent或Stackless + Twisted,Pylons,Django和SQL Alchemy

我们正在广泛使用Twisted来为需要大量asynchronousIO的应用程序。 有些情况下,cpu绑定的东西,为此,我们产生了一个进程池来完成这项工作,并有一个系统来pipe理这些跨多个服务器 – 所有在Twisted中完成。 很好用。 问题是很难让新的团队成员加快速度。 在Twisted中编写asynchronous代码需要接近垂直的学习曲线。 就好像人类自然不会这么想。 我们也许正在考虑一个混合的方法。 也许将xmlrpc服务器部分和进程pipe理保存在Twisted中,并且至less在一定程度上看起来同步的代码中实现其他东西,而不是这样。 然后我又喜欢显式的隐含,所以我不得不多思考这个问题。 无论如何上greenlets – 这种东西有多好? 所以有Stackless,就像你从Gallentean头像中看到的那样,我很清楚它在第一手中共旗舰EVE在线游戏中的巨大成功。 那么Eventlet或gevent呢? 那么现在只有Eventlet可以和Twisted一起使用。 然而gevent声称更快,因为它不是纯粹的python实现,而是依赖于libevent。 它还声称有较less的特质和缺陷。 gevent据我所知,它由1个人维护。 这让我有些le然心动,但所有伟大的项目都是以这种方式开始的……所以有PyPy–我甚至还没有完成关于这个的阅读 – 只是在这个线程中看到: Stackless的缺点 。 所以令人困惑 – 我想知道做什么 – 听起来像Eventlet可能是最好的select,但它是否足够稳定? 有谁在那里有任何经验呢? 我们是否应该selectStackless,而且它已经被certificate是技术 – 就像Twisted一样 – 而且它们确实很好地协同工作。 但是我仍然不希望有一个独立的Python版本来做到这一点。 该怎么办…. 这个有点令人讨厌的博客条目为我打了头:虽然asynchronousIO成年人我不明白Twisted是像Java一样对我来说,Java通常是在线程的思维方式,但无论如何。 不过,如果那个猴子补丁的东西真的有效,那么哇。 哇!

gevent在Ubuntu上没有正确安装

我想试用gevent ,但安装后我不能加载任何gevent模块。 安装步骤是: sudo apt-get install libevent-dev sudo pip install greenlet sudo pip install gevent 环境设置是Ubuntu 10.10 x86_64 GNU / Linux。 当我尝试做一个简单的testing时,我得到: >>> import gevent >>> from gevent import socket Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: cannot import name socket 我怀疑安装没有做它应该,但我不知道什么错。

Python中的Byte数组

如何在Python中表示一个字节数组(比如在Java中使用byte [])? 我需要通过gevent把它发送出去。 byte key[] = {0x13, 0x00, 0x00, 0x00, 0x08, 0x00};

如何在Mac OS X Lion上安装Python库“gevent”

Python库gevent ,版本0.13.6(PyPI上的当前版本)不会pip install在OS X Lion,Python 2.7(也可能是其他版本)上。它在Snow Leopard上工作正常。 我怎样才能安装这个库? 如果可以使用pip install ,而不是手动或自定义进程来完成,那么奖励点数将会与自动构build完美搭配。 这是我的pip install输出: pip install gevent Downloading/unpacking gevent Running setup.py egg_info for package gevent Requirement already satisfied (use –upgrade to upgrade): greenlet in ./tl_env/lib/python2.7/site-packages (from gevent) Installing collected packages: gevent Running setup.py install for gevent building 'gevent.core' extension gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch […]

运行成功的py.test后,模块“线程”中的KeyError

我正在用py.test进行一系列testing。 他们通过。 开心辞典! 但是我收到这个消息: Exception KeyError: KeyError(4427427920,) in <module 'threading' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.pyc'> ignored 我应该如何追踪这个来源呢? (我不是直接使用线程,而是使用gevent。)

Greenlet VS. 主题

我是gevents和greenlets的新手。 我发现了一些关于如何与他们合作的很好的文档,但是没有人给我说明我应该如何以及何时使用greenlet的理由。 他们真的擅长什么? 在代理服务器中使用它们是不是一个好主意? 为什么不是线程? 我不确定的是,如果它们基本上是共同的例程,它们如何为我们提供并发性。

何时使用Tornado,何时使用Twisted / Cyclone / GEvent /其他

哪个框架/库将成为构build现代多用户Web应用程序的最佳select? 我很想有一个asynchronous的networking服务器,这将允许我轻松地扩展。 什么解决scheme会提供最好的性能 / 可扩展性 / 最有用的框架 (易于使用和易于开发)? 如果它能提供良好的function (websocket,rpc,streaming等),那将是一件好事。 每个解决scheme的优缺点是什么?