如果您检查 Quart 库,call execute_command_line('mkdir -p ./' // adjustl(trim(dirName)),CMDSTAT=CSTAT )
if ((CSTAT > 0) .OR. (CSTAT < 0)) then
call mpiABORT('mkdir on new time level failed ')
end if
只会建立一些配置,然后使用app.run()
,而发源于asyncio.run(serve(self, config))
。
因此,即使您通过from hypercorn.asyncio import serve
运行 Quart 应用,它是否还已经使用 Hypercorn 服务器?
尤其是和通过python myapp.py
运行有什么区别?
https://pgjones.gitlab.io/quart/deployment.html
不建议在生产中直接运行Quart(通过run())。相反,建议使用Hypercorn或备用ASGI服务器运行Quart。 Hypercorn与Quart一起安装,默认情况下用于服务请求(例如,与run()一起使用)。
听起来,即使 Hypercorn 在默认情况下通过hypercorn myapp:app
来处理请求,还是不建议使用run()
?还有其他人感到困惑吗?
答案 0 :(得分:3)
因此,即使您通过python myapp.py运行Quart应用程序,它是否也已使用Hypercorn服务器?
是的
特别是,这与通过hypercorn myapp:app运行有什么区别?
我想保留run
方法用于开发,以便默认情况下可以做出对开发有利但对生产不利的决策。目前的示例是run
方法默认情况下使用重载程序(只要代码更改,就重载应用程序),这在开发时非常有用,但在生产中会出现性能问题。另一个例子是run
方法不会使用多个工作程序,这再次导致生产性能下降。
(我是Quart的作者)