问题标签 [eventlet]
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.
python - Evenlet 信号量,如何限制对特定子进程的调用?
我需要创建一个信号量来限制特定子进程的并行计数。我将 gunicorn 与 eventlet 工作人员一起使用,并允许许多同时连接。大多数情况下,这些都在等待远程数据。但是,它们都会在某个时候进入处理阶段,这涉及调用子进程。虽然这个子进程不应该经常并行运行,因为它很耗内存/CPU。
是否threading.Semaphore
正确monkey_patch'd并可以与gunicorn内的eventlet一起使用?
python - 芹菜池类型和并发
我很难把多线程并发在 celery 中的工作方式放在一起。
看起来要使用的默认类型是-P eventlet
. 我假设-P threads
由于 GIL 而这不起作用,并且在实践中不会有并发性。
但它看起来也像(从这里的例子)我不能简单地指定-P eventlet
并开始触发任务,我必须通过启动并行任务celery.group
。据此,多进程工作者永远不会并行消费消息。
所以,总而言之,看起来任务的真正并行化,我必须使用多处理。我可以使用 eventlet,但我必须修改我的任务的运行方式。我的任务是响应外部触发器随机触发的,所以我事先不知道我需要创建的时间和数量 - 所以看起来我不能在我的用例中使用 eventlet。
这个对吗?
python - 如何将 pymysql 与 gevent 和 django-celery 一起使用?
我将以下内容放在我的 manage.py 中(使用 django-celery 3.0.21):
当我尝试启动 django 或 celery 时出现以下错误:
基本上我真的很想将 celery 与 eventlet 一起使用,但我需要一个“绿色”的 Python MySQL 库。
python - 从 eventlet.green 导入 urllib2 错误
当我尝试这段代码时,它给了我这个错误。我使用python 2.7
我怎么解决这个问题。感谢帮助
python - 如果您有一个阻塞功能,请使用 greenthreads
Python 中的绿色线程具有协作式多任务处理来完成工作。它们是否应该用于以下场景,因为它们不会为此产生/将控制权传递给其他线程。
设想:
阻塞功能只有一个命令:一个长时间运行的 SSH 到另一台机器。因此,即使您有多个绿色线程,也有可能多个 SSH 连接甚至都没有打开,因为第一个线程不会控制下一个线程来启动连接。
将通过机器上的 SSH 进行安装
python - Eventlet 的产生不起作用。这么奇怪
**** 大家好
我正在使用 eventlet 来实现网络爬虫。我的代码就是这样
但它什么也没输出,似乎 fetch 根本没有运行
顺便说一句,pool.imap 确实有效
发生了什么?
我想要做的是:url 源源不断地来,即一个接一个。像这样
但它也不起作用。
提前致谢....
python-2.7 - AttributeError:“模块”对象没有属性“monkey_patch”
我想在 python 中使用 celery 来使用并发。我有一个 tasks.py 文件,它是一个使用 BeautifulSoup 的网络爬虫。我所做的进口是:
对于芹菜工人,我使用这个命令:
错误:
我想使用 1000 个线程执行任务。我试过导入eventlet,然后做了:
仍然没有工作,同样的错误。
请如果有人可以提供帮助,那就太好了。谢谢。
python - 使用 eventlet 运行 celery 时,Fabric 失败,名称查找失败
我有一个 celery 任务来使用结构在远程机器上运行 sudo 命令:
如果我将芹菜工人运行为:
它工作正常!但是当我用 eventlet 运行工人时:
它变得非常糟糕,并给了我这个例外:
警告/MainProcess] 无
仅供参考:我还有其他具有不同 HTTP API 调用的任务,因此尽管 eventlet 会有所帮助,但在这种情况下对我不起作用
python - python eventlet fabric给出IOError:[Errno 1] Operation not allowed when running celery worker
我有一个芹菜工人,其中包括一个在远程机器上运行木偶代理的任务,这是一个阻塞调用。我在其他可以从 eventlet 中受益的任务中也有其他 http api 流
当我运行工人时
它给了我一个异常跟踪,如下所示:
我已经阅读:为什么 select.select() 可以处理磁盘文件而不是 epoll()?并查看 eventlet 使用结构或此类阻塞调用存在问题。有没有办法告诉芹菜不要修补这个特定的任务?
python - Celery 中的 Django 和并发任务
我有一个复杂的场景需要解决。
我正在使用 Celery 并行运行任务,我的任务涉及 HTTP 请求,我计划将 Celery 与 eventlet 一起用于此目的。
让我解释一下我的场景:
我有 2 个可以并行运行的任务和需要处理这 2 个任务的输出的第三个任务,因此我使用 Celery 组来运行 2 个任务和 Celery 链将输出传递给第三个任务来处理它当他们完成时。
现在它变得复杂了,第三个任务需要产生多个我想并行运行的任务,我想将所有输出收集在一起并在另一个任务中处理它。
所以我为多个任务创建了一个组,并用一个链来处理所有信息。
我想我缺少有关 Celery 并发原语的基本信息,我有一个 1 celery 任务运行良好,但我需要让它更快。
这是代码的简化示例:
这就是我开始此操作的方式:
我保存 task.id 并每 30 秒拉一次服务器以查看结果是否可用: