问题标签 [quart]
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 - 使用 websockets 在 Python / Quart 中检测客户端断开连接
我有多个客户,我存储在一个列表中(已连接)。当客户端(浏览器)关闭时,我想从连接的 websocket 列表中删除这个 websocket。
我尝试了 pgjones 编写的方法,稍作改动(https://medium.com/@pgjones/websockets-in-quart-f2067788d1ee):
......
在代码中进一步......
......
在 update_clients 中应该有一些检测到发送到不再存在的 websocket 出错了......然后将其删除。但也不例外……?!
我也试图:
但是还是没有出现异常...
mongodb - 使用电机连接到 MongoDB 时,Asyncio(Quart)抛出附加到不同循环错误的任务
我使用 MongoDB 和 Motor.Asyncio 创建了一个带有 Quart 的 webapp。当应用程序尝试查询数据库时,会引发错误:
我不明白为什么会发生这种情况,也不知道如何解决。
该应用程序一直运行没有问题,但我决定从 Python 3.6(在 Ubuntu-18.04 上)升级到 python 3.7.1。有了这个,我将 Quart 升级到 0.9.0。由于此升级,发生了上述错误。
该应用程序使用 Hypercorn 和 Nginx 从命令行运行。
在这种情况下,我不确定我的代码的哪些部分是相关的
我先导入 Quart,然后再导入 Motor:
在此之后,我添加:
我试过在电机导入块之前移动它,它没有改变任何东西。
正如问题/答案中所建议的: RuntimeError: Task attach to a different loop 我添加了:
那并没有解决它。
这是第一次调用电机的块,错误发生的地方:
我可以忽略错误并继续,但随后进行下一次调用并发生相同的错误。
我知道 Quart 在默认的 event_loop 上工作,应该不需要为电机创建一个特殊的循环。它在以前的版本中没有它的工作。所以我完全不知所措。
websocket - 如何在 `@app.websocket` 装饰函数之外使用 websocket 向客户端发送消息?
我正在使用quart作为网页游戏的后端。我有一个游戏事件循环的存根和一个优先级队列,当某些事情从优先级队列中完成时,游戏循环会做进一步的处理,然后需要向一个或多个玩家发送更新。这是游戏事件循环的简化版本:
我认为装饰game_loop
可以quart.copy_current_websocket_context
让我使用全局 websocket 对象向玩家发送东西,但事实并非如此:
确实,我使用了错误的装饰器,但是我想要实现的是使用 websocket 向玩家发送消息,知道我需要做什么吗?
python - RuntimeError:任务得到未来连接到不同的循环
如何在 Quart 的另一个异步方法中调用在主线程中获取事件循环的异步方法?
t.py
应用程序.py
错误:
如何将事件循环传递给夸脱?我试图获取循环并设置内部函数但仍然出现错误
gzip - 如何将 gzip 压缩添加到为 Quart 应用程序提供服务的 Hypercorn 服务器
我有一个在 hypercorn (0.6) 服务器上运行的夸脱应用程序。(EC-2 亚马逊 Ubuntu 18)
页面加载太慢,建议之一是添加 gzip 压缩。
这个事情谁有经验?
亲切的问候,亚历克斯
heroku - 如何在命令行中将 asyncio.get_event_loop() 传递给 quart?
在一个文档中,他们将事件循环传递给 quart。需要在路由处理程序中调用异步方法。
如何将此更改为heroku的命令行?
我试过了
但还是得到了
对此的跟进问题
How to get an event loop from Quart here 说 quart 的 app.run() 使用由 asyncio 为主线程创建的默认事件循环 那么他们为什么要通过循环呢?
python - Hypercorn - 在文件夹中找不到 __main__ 模块
我正在使用带有 debug=True 的 Quart(Flask async) 及其内置 Hypercorn 服务器,但是每次我保存文件并且应用程序尝试重新启动时,我都会得到:
C:\Users\myusername.virtualenvs\App-GtW9WS3s\Scripts\python.exe:在 'C:\Users\myusername\OneDrive' 中找不到 '__main__' 模块
我认为这与 Hypercorn 有关,但老实说,它可能是任何东西,关于这个错误的问题有很多不同的解决方案。
我在 Windows 10 中运行 Pipenv 毫无价值。
运行.py:
应用程序/__init__.py :
python - 错误 R10(启动超时)-> Web 进程未能在启动后 60 秒内绑定到 $PORT?
会@app.before_serving
导致这个吗?
线程 Thread-2 中的异常:发生的地方
python - Jinja2 - 对象在 for 循环中表现不同
我有一个对象(一个名为 tortoise-orm 的 ORM 的 QuerySet 结果,但我认为这并不重要)如果我使用 Jinja2 的 for 循环对其进行迭代,它的行为会有所不同。
将对象tasks
视为可迭代对象。
例如,这工作正常,它输出每个负责的任务的名称,这是我目前正在使用的修复:
但这只会创建一堆<li>
没有错误的空白:
这也很好用:
所以,敲了半天头,我觉得可能和Jinja如何访问iterables以及这个特定对象如何实现自己的iterable有关,但是由于我不愿意修改任何一个库,我只是在寻找一个解决方案,也许是一个关于如何避免未来此类问题的简单解释
这里会发生什么?