问题标签 [greenlets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
544 浏览

gevent - ZeroRPC 心跳和超时

总的来说,我喜欢 ZeroRPC,工作得很好并且已经使用了几个月(有关 ZeroRPC 之上的 kewl 项目,请参见https://github.com/SuperCowPowers/workbench )。但是我想问一下我的理解有一个小的差距。

我正在做出以下两个假设(这可能是错误的):

  1. 如果你对心跳有任何问题,你有一个服务器端的 gevent/greenlet 问题,你应该给它 gevent monkey 补丁(即 from gevent import monkey; monkey.patch_all())。顺便说一句,这对我很有用。:)
  2. 如果您对超时有任何问题(心跳工作正常),那么您的服务器任务运行时间超过 30 秒,并且客户端正确地说“嘿,这太长了,我要退出了”,这很好。

因此,如果这两个假设是正确的,那么我有一个“使用”问题。我的服务器将有合理数量的任务运行时间超过 30 秒,因为我鼓励人们编写自己的客户端(这很容易)我是否应该教条地记录人们应该将客户端超时选项设置为更高的值?

我对这条路唯一的犹豫是显然人们不会这样做,它会在小东西上运行良好,然后在更大的东西上超时。

0 投票
2 回答
162 浏览

python - 绿叶菜本身真的有用吗?

我在概念化greenlets有什么大不了时遇到了一些麻烦。我了解在同一进程中切换运行功能的能力如何打开通往无限可能的大门;但我没有遇到任何关于他们如何解决标准python技术无法解决的问题的例子(除了生成器中的嵌套函数问题——老实说......“meh”)。

以greenlet 的主页为例,它基本上是一种更复杂的方法:

我知道这只是一个多余的例子,但这似乎是greenlets可以做的长期和短期。除非你是一个控制狂,以至于必须决定何时、何地以及如何执行应用程序中的每一行代码,否则如何test0通过使用 greenlets 来改进?或者以GUI 为例(这首先是我对 greenlets 感兴趣的地方);while考虑一个不需要循环的策略应该不难process_commands,不是吗?

我已经看到一些很酷的事情可以用 greenlets 来完成。但只能与其他包(例如,Stackless、gevent 等)中实现的其他一些黑暗巫术结合使用。即使有了这些,greenlets 还是不够的,需要它们进行子类化。

我的问题:

有哪些真实世界的例子可以说明如何单独使用 greenlets 来增强 python 的功能?我怀疑答案在于网络——这可能就是我不明白的原因。但是还有其他人吗?

0 投票
0 回答
2902 浏览

python - 英特尔伽利略 - greenlet.h:8:20:致命错误:Python.h:没有这样的文件或目录

我在我的英特尔 galileo 上运行 Linux 开发工具映像(链接在最后)。我试图安装greenlet,但我收到一个错误,指出python.h没有这样的文件。

在 greenlet.c:5:0 包含的文件中:

我知道有很多帖子都有相同的 python.h 错误,但我的问题是我的 Linux 映像无法运行 sudo 或 apt 命令

我需要在 Galileo 板上运行的 Linux 映像上设置 python-dev 环境。我正在使用的 Linux 开发工具映像的链接如下。 http://telekinect.media.mit.edu/galileo/image-devtools-1.0.1-2.tar.bz2

ps 它已经有 gcc 和 python2.7。

0 投票
0 回答
1246 浏览

python - 由于内存不足,蝗虫主进程被杀死

具有 8 个从属设备的 Locust 主从设置,运行 om 8 个 AWS 实例,具有 4 GB RAM 和 64 位 Ubuntu。将用户数量设置为 500 并将孵化率设置为 200 我看到主进程在 15 分钟内被杀死。MIN_WAIT & MAX_WAIT 分别设置为 10 和 100。我看到 locust master 几乎消耗了大约 3 GB 的内存。为什么蝗虫需要这么大的内存。如何解决此问题并长时间运行负载测试。约100小时。我想用蝗虫实现大约 3000 的 RPS。

0 投票
0 回答
543 浏览

python - MySQL 连接器/Python greenlet 安全吗?

我想知道MySQL 连接器/Python 驱动程序是否是 greenlet 安全的。他们的网站 [1] 没有提到任何关于绿叶的内容。只是它是线程安全的。

一些搜索将我引向 gevent-MySQL(已死),这将我引向 amysql(已弃用),从而将我引向 ultramysql(不符合 PEP 249,没有文档等)。另外我在这里读到 [2] pymysql 可能会这样做。

在我切换到 pymysql 之前,是否有人对 MySQL 连接器/Python 驱动程序和 greenlets 有经验?这里有作者吗?

[1] http://dev.mysql.com/doc/connector-python/en/index.html

[2] http://engineering.pinterest.com/post/65713073803/how-we-use-gevent-to-go-fast

0 投票
0 回答
92 浏览

python - gevent - Cannot overload operators for Greenlet subclass

I ran into a peculiar issue with gevent and greenlet that I can't troubleshoot. I'm trying to overload an operator for convenience in a subclass of gevent.Greenlet:

This is the output:

I looked at the source code for gevent.Greenlet but couldn't see why it would disallow operator overloading. I feel like there is some meta-programming black magic going on. Does anyone have an idea?

0 投票
1 回答
979 浏览

python - Python Gevent 永远运行 greenlet

我想编写一个程序,其中有几个永远运行的调度函数。我想为此目的使用 gevent 。他们对长期运行的greenlets有任何问题吗?

我正在编写这种格式的程序

0 投票
1 回答
645 浏览

macos - 在 MAC OS X 10.10 Yosemite 上安装支持异步的 uWSGI

我尝试按照 uWSGI 文档构建具有asyncio支持uWSGI 。我正在使用带有 Virtualenv 的OS X 10.10 Yosemite 。

首先,我使用该命令python3-config --include来获取我的 python3 包含路径。但是当我尝试使用以下命令构建 uWSGI + Asyncio 时:

我收到以下错误:

有没有人遇到过这个问题?我试过你安装在我的 virtualenv 和我的全局 python 安装中首先使用pip安装Greenlet,但我仍然得到'greenlet/greenlet.h' file not found. 有什么建议吗?

0 投票
2 回答
344 浏览

python - How does greenthread get scheduled?

In my Python program, I use eventlet to create a lot of greenthreads, just want to know if the current greenthread sleeps, which one of the rest will get scheduled and run? Any scheduler in the eventlet?

Thanks!

0 投票
1 回答
604 浏览

gevent - 替换 gevent.spawn_link_exception

这段旧代码调用了不再存在的gevent.spawn_link_exception :

请帮助我更新此代码,使其适用于最新版本的 gevent。谢谢。