问题标签 [sanic]

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 投票
1 回答
2045 浏览

python - 将 asyncpg 连接池与 Sanic 一起使用

我在网上清理了几个例子并想出了这个。这段代码有效,但我想知道是否有更好的方法来做到这一点?

现在在 webapp.py 中使用 pg 类

0 投票
1 回答
332 浏览

python - WSGI 应用程序工厂模式和导入时间创建的模块级对象

一段时间以来,我一直在考虑Flask 文档推荐的WSGI 应用程序的工厂模式。特别是那些通常显示为使用在模块导入时创建的对象的函数,如示例中所示,而不是在工厂函数中创建的对象。db

理想情况下,工厂功能会重新创建_everything_,还是对db引擎等对象没有意义? (我在这里考虑更清晰的分离和更好的可测试性。)

这是一些代码,我试图在其中完成为 wsgi 应用程序创建所有需要的对象。在它的工厂函数中。

0 投票
2 回答
740 浏览

python - Python Sanic 或 Async 框架使用 Asgiref 的原因?

我知道答案是“总是取决于”,但一般来说,在 Sanic 等异步框架中使用 asgiref 包装器是有理由的。

https://github.com/django/asgiref https://github.com/channelcat/sanic

我的主要问题是,为什么有人会在异步框架中使用它,我了解 Django 的用例,但是如果您考虑过异步编程,那么处理问题的方式似乎有点懒惰。

告诉我我错了。

0 投票
1 回答
702 浏览

python-3.x - 如何解决 Python 3.5 中多处理的 OSError?

我在 Sanic 框架中有一个应用程序,所以我使用多处理模块上传文件并立即向客户端发送响应,因此上传文件可以继续上传到服务器。所以当终端打开时这工作正常,因为我在后台运行一个应用程序并关闭一个终端进入OSError日志。

0 投票
1 回答
109 浏览

python - Python Asyncio如何同时处理超过1个请求的itertools.cycle

我正在使用 Sanic,我们正在使用代理来建立外部连接以进行网络抓取。

我想创建一个 python 字典,并在 python 字典中放置一个代理列表。在这个字典中,我们将存储诸如0,之类的值11= 代理连接失败。

我希望均匀地访问一个列表,因此我们的代理对它们的使用方式有一些可预测的模式。而不是随机选择它们,这可能会导致大量使用 1 个代理而不是其他代理。

但是,由于 Sanic 有许多工人。我试图弄清楚如何处理这个问题。

从视觉上看,我的想法是,它就像一排代理,每次请求时,顶部的代理都会执行下一步,一旦被调用,它就会再次回到行的后面。

https://docs.python.org/2/library/itertools.html#itertools.cycle这样的东西似乎是一个不错的选择。

但是,我的问题是......这怎么会发生异步和非阻塞。作为工作人员或请求可以同时发生。如果同时发生 2-50 个请求,如何解决这个问题。

0 投票
1 回答
933 浏览

python - Python async redis 给出错误 AttributeError: __aexit__

我是 Python 新手,正在尝试构建一个简单的应用程序来从 redis 数据库中检索数据。但是当我尝试检索数据时,它给了我一个“AttributeError:__aexit_”错误。

有谁知道我做错了什么?提前致谢!

我的代码:

错误回溯:

0 投票
1 回答
150 浏览

python-3.x - 如何响应 sanic 中的布尔类型?

我需要直接回应 True 或 False。我怎样才能做到这一点?Json, text, raw....不能编码

错误

附加:

我只想简单地返回 True 或 False。

0 投票
1 回答
321 浏览

python-3.x - Multi Workers Sanic App 和 pyformance Lib 用于指标报告

我正在尝试使用pyformance 指标库将指标添加到基于 sanic 的应用程序中。

当运行 1 个 worker 时,一切看起来都很好,但是当配置更多 worker 时,没有任何指标被发送到 carbon。

感谢您提供任何帮助,以及从多工人 sanic 应用程序向石墨发送指标的不同方法。

0 投票
2 回答
4195 浏览

python - 如何在 Sanic 中使用 aiohttp ClientSession?

我试图了解将 aiohttp 与 Sanic 一起使用的正确方法是什么。

从 aiohttp文档中,我发现以下内容:

不要为每个请求创建会话。您很可能需要每个应用程序一个会话来完全执行所有请求。更复杂的情况可能需要每个站点一个会话,例如一个用于 Github,另一个用于 Facebook API。无论如何,为每个请求创建一个会话是一个非常糟糕的主意。会话内部包含一个连接池。连接重用和保持活动(默认情况下都打开)可以提高整体性能。

当我去 Sanic 文档时,我发现了一个这样的例子:

这是一个例子:

这不是管理 aiohttp 会话的正确方法...

那么正确的方法是什么?
我应该在应用程序中启动会话并将会话注入所有层中的所有方法吗?

我发现的唯一问题是这个,但这无济于事,因为我需要创建自己的类来使用会话,而不是理智的。
还发现了这个在 Sanic 文档中

我有点困惑:(正确的方法是什么?

0 投票
0 回答
228 浏览

database - Sanic:无法连接 Aerospike

我有连接 aerospike 的问题。我将 docker 映像推送到部署系统,然后在系统启动时出现错误:

我在本地进行了所有测试,并且 sanic 正在工作。我也改变了超时但没有结果。我的问题是:我该如何调试它出了什么问题。我只需要访问 kibana 就可以观看日志。另外我使用主管来运行它