问题标签 [gevent]

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 投票
3 回答
1304 浏览

python - 用 Python 编写的 Web 应用程序是如何部署的?

我是一名前 PHP 开发人员,我正在努力克服我可以编写 nginx 配置脚本、创建目录、启动 nginx + PHP-FPM、上传我的代码并让它运行的心态。我想开始使用 Python 来感受它并开始创建 Web 应用程序,但是对于如何让它全部工作我有点迷茫。

尽管有些人的建议总是使用 Django 之类的框架,但我想看看这一切是如何自下而上地工作的。

我遇到了 Python Web 服务器的比较,看来 gevent 是我正在寻找的。但是这一切是如何结合在一起的呢?我仍然需要 nginx(静态内容除外)作为反向代理,还是我做一些不同的事情?我正面临“初学者失明”,我正在努力看看这一切是如何结合在一起的。

0 投票
2 回答
1234 浏览

python - Python:使用gevent,是否需要前端服务器/反向代理?

在一个相关问题中,我试图弄清楚 Python Web 应用程序是如何从端到端“联系在一起”的,并且我一直假设 WSGI 模块需要 Apache/lighttpd/nginx。(假设我使用 CDN 提供静态内容。)

是否可以跳过 WSGI 并使用 gevent 库直接为客户端提供服务?

0 投票
4 回答
38856 浏览

python - gevent 无法在 Ubuntu 上正确安装

我想尝试gevent,但安装后我无法加载任何 gevent 模块。

安装步骤如下:

环境设置为 Ubuntu 10.10 x86_64 GNU/Linux。

当我尝试做一个简单的测试时,我得到:

我怀疑安装没有做它应该做的,但我不确定出了什么问题。

0 投票
1 回答
1027 浏览

python - 尝试运行 gevent socketio 示例(Django)

我遇到了以下错误:

这个错误告诉我什么?我安装了所有示例的依赖项,没有错误。

greenlet, cython, libevent, gevent, gevent-socketio,gevent-webstocket没有问题

0 投票
10 回答
4893 浏览

python - 如何在 Python 中“稍后”高效地完成许多任务?

我有一个过程,需要“稍后”(通常在 10-60 秒后)执行一堆动作。问题是那些“稍后”的操作可能很多(1000 秒),因此使用Thread每个任务是不可行的。我知道geventeventlet等工具的存在,但问题之一是该过程使用zeromq进行通信,因此我需要一些集成(eventlet 已经拥有它)。

我想知道的是我的选择是什么?因此,欢迎提出建议,包括库(如果您使用过任何提到的,请分享您的经验)、技术(Python 的“协程”支持、使用一个休眠一段时间并检查队列的线程)、如何利用 zeromq 的 poll 或 eventloop 来完成这项工作,或者其他什么。

0 投票
1 回答
221 浏览

python - Flash 和 TCP 服务器之间的对话 (Python)

在 Flash 客户端和 gevent 之间进行对话的最佳推荐方式是什么?我应该使用 XMLSocket 还是有更好的东西......另外,我应该创建自己的语法“例如 MOVE 1、500、3000”还是应该使用类似于 JSON 的东西?这是生产用的,谢谢大家。

0 投票
2 回答
3816 浏览

websocket - RabbitMQ 与 Websocket 和 Gevent

我期待使用 Websocket 为我的 Web 应用程序开发一个实时 API。为此,我使用 RabbitMQ 作为代理,我的后端基于 python (gevent + websocket),并将 Pika/Puka 作为 rabbitmq 客户端。

我在这里面临的问题是,我们如何使用 websocket 与 rabbitMQ 连接。在初始的 websocket 连接建立后,socket 对象等待来自客户端的新消息,而对于 rabbitMQ,我们需要为其设置一个消费者,因此它会在收到消息时进行处理。我们可以这样处理,

  1. 客户端通过全双工 websocket 与服务器建立连接。
  2. 在初始 websocket 握手之后,所有客户端都应该充当 RabbitMQ 的消费者,因此当客户端收到一些消息时,它们都会得到更新。
  3. 当新消息到达 websocket 时,该客户端会将其发送到 RabbitMQ,因此此时该客户端充当发布者。

问题是 Websocket 等待新消息,而 RabbitMQ 消费者在其通道上等待新消息,我无法将这两种情况联系起来。

我不确定这是否是错误的方法...

我找不到实现这种情况的方法。如果我走错了路或者有其他方法吗?请帮我解决这个问题。

谢谢,

哈里达斯·N。

0 投票
1 回答
1742 浏览

python - 使用 Gevent 跨多个协同程序/greenlets/微线程进行日志记录?

使用 Python 的 gevent 记录跨越多个正在运行的协同程序/微线程/Greenlets 的事件的最佳方法是什么?

我想记录的示例事件可能包括创建新连接或断开与套接字服务器的连接。

沿着这个思路——“生成的”协同程序是否有可能登录到同一个文件?由于对该文件的潜在并发写入尝试,这甚至是可取的吗?

0 投票
2 回答
1431 浏览

python - 我应该使用轨道或 gevent 将彗星功能集成到 django 应用程序中吗

我使用 Django 已经有一段时间了,并且已经在使用 Apache 2 mod_wsgi 和 ubuntu 上的 PostgreSQL 数据库的设置上编写了几个应用程序。

我有一个应用程序,它使用 xsendfile 通过 Django 视图从 Apache 提供文件,还允许用户通过表单上传文件。所有这些工作都很好,但我现在想通过允许用户聊天并查看何时上传新文件而无需刷新浏览器来提升功能(以及我确信的复杂性)。

由于我希望它具有可扩展性,因此我不想不断地使用 AJAX 进行轮询,因为这对于大量用户来说会变得非常繁重。

我已经阅读了更多的帖子、网站和博客,然后我可以指望将彗星功能集成到 Django 应用程序中,但是关于如何做到这一点有很多不同的意见,我现在完全糊涂了。

我应该使用轨道、gevent、iosocket 吗?龙卷风在哪里适合这场辩论?

我希望消息也存储在数据库中,所以我是否需要任何特殊配置来防止我的应用程序在写入数据库时​​阻塞?使用 Django 运行聊天服务器会对我从 Apache 提供文件的能力产生任何影响吗?

0 投票
3 回答
2135 浏览

django - 使用 gevent socket.py 时无法使用 Django 连接到 smtp 服务器

我正在使用 gevent 在 gunicorn 0.12.2 上运行 django 应用程序并安装在 virtualenv 环境中。当我尝试连接到 smtp.gmail.com(django-registration 创建帐户视图)时,我收到以下错误:

编辑:添加了完整的回溯