我理解答案是“始终取决于”,但一般来说,在异步框架(如Sanic )中使用asgiref包装器是否有理由。
https://github.com/django/asgiref https://github.com/channelcat/sanic
我的主要问题是,为什么会有人在异步框架中使用这个,我理解Django的用例,但是如果您是异步编程的话,这样的事情似乎有点懒散地处理问题。
告诉我我错了。
发布于 2018-05-03 21:40:16
我对asgiref并不特别熟悉。然而,尽管如此,我熟悉asgi作为wsgi的替代品的想法。
就Sanic而言,这是不相关的。Sanic有自己的服务器内置在,并且它在开箱即用异步操作。
我不想告诉你,你本身是错的,但我不认为它在卫生的世界中有什么用处。
发布于 2018-08-15 13:57:54
第一,背景:
一些异步框架(如sanic和aiohttp )早于ASGI的成熟点,因为它适合作为异步服务器/应用程序接口。
因此,他们已经将webserver实现内置到他们的代码库中。他们可以使用ASGI作为接口,而不是他们自己的内部接口,但这意味着他们的维护人员要做大量的工作。
那么,为什么这是值得的努力呢?
如果他们这么做的话,他们会得到的好处是:
uvicorn、hypercorn、daphne服务器。)能够透明地在服务器实现之间切换提供了一个更健壮的生态系统,并意味着服务器实现可以跨框架共享。Sanic将获得具有HTTP/2支持、Windows支持和PyPy支持的服务器实现,并解决套接字流控制中存在的一些未决问题。简而言之,ASGI是有益的,其原因与WSGI有益的原因相同。现在,对于sanic来说,这并不是一个胜利,因为他们已经完成了编写服务器实现的所有繁重工作,但是这样做还是有好处的,这对整个社区来说绝对是一场胜利。
相关:Sanic的ASGI机票.
(还请注意,asgiref只是一个Python包,其中有一些用于使用ASGI框架的助手,这也恰好是保存ASGI规范文档的回购程序。问题在于使用ASGI,而不是使用asgiref)。
https://stackoverflow.com/questions/50157137
复制相似问题