用什么代替 quart 的线程
What to use instead of threads with quart
我想制作一个带有 replit 的 discord 机器人仪表板,我想使用 quart,有我的 keep_alive 功能:
def run():
app.run(host="0.0.0.0", port=8080)
def keep_alive():
server = Thread(target=run)
server.start()
只有一个小问题,我不知道用什么代替线程,因为 Quart 是一个 异步 库。
Quart run
采用以下参数。如果你想重新加载文件更改,那么默认情况下它会完成这项工作。
def run(
self,
host: Optional[str] = None,
port: Optional[int] = None,
debug: Optional[bool] = None,
use_reloader: bool = True,
loop: Optional[asyncio.AbstractEventLoop] = None,
ca_certs: Optional[str] = None,
certfile: Optional[str] = None,
keyfile: Optional[str] = None,
**kwargs: Any,
) -> None:
使用 hypercorn.asyncio.serve
, you can turn an ASGI server (i.e., Quart here) to an asnycio.Future
对象,它允许您将 Future
推送到事件循环(通过 asyncio.create_task
或其他方式)并在后台 运行 它。
我想制作一个带有 replit 的 discord 机器人仪表板,我想使用 quart,有我的 keep_alive 功能:
def run():
app.run(host="0.0.0.0", port=8080)
def keep_alive():
server = Thread(target=run)
server.start()
只有一个小问题,我不知道用什么代替线程,因为 Quart 是一个 异步 库。
Quart run
采用以下参数。如果你想重新加载文件更改,那么默认情况下它会完成这项工作。
def run(
self,
host: Optional[str] = None,
port: Optional[int] = None,
debug: Optional[bool] = None,
use_reloader: bool = True,
loop: Optional[asyncio.AbstractEventLoop] = None,
ca_certs: Optional[str] = None,
certfile: Optional[str] = None,
keyfile: Optional[str] = None,
**kwargs: Any,
) -> None:
使用 hypercorn.asyncio.serve
, you can turn an ASGI server (i.e., Quart here) to an asnycio.Future
对象,它允许您将 Future
推送到事件循环(通过 asyncio.create_task
或其他方式)并在后台 运行 它。