当前位置:   article > 正文

Sanic-配置_sanic环境变量

sanic环境变量

Sanic是一个类似Flask的Python 3.5+ Web服务器,它的写入速度非常快。除了Flask之外,Sanic还支持异步请求处理程序。这意味着你可以使用Python 3.5中新的闪亮的异步/等待语法,使你的代码非阻塞和快速。

在上一篇博文中已经讲到,如何在Sanic中使用蓝图,接下来将介绍一下Sanic的配置,任何相当复杂的应用程序都需要配置,这些配置烘焙到实现的代码中,不同的环境或安装有可能不同。

加载配置

Sanic支持许多种加载的配置的方法,接下来简单介绍:

  • config:Sanic拥有config应用程序中对象属性的配置,配置对象只是一个可以使用点符号或者字典来修改的对象:
app = Sanic()
app.config.DB_NAME = "python"
app.config.DB_USER = "root"
  • 1
  • 2
  • 3

由于配置对象还是一个字典,你可以使用它的update方法来一次设置多个值:

db_settings = {
    "DB_NAME":"python",
    "DB_USER":"root"
}
app.config.update(db_settings)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 环境变量:任何使用SANIC_前缀定义的环境变量都将应用于sanic配置。例如,设置SANIC_REQUEST_TIMEOUT将被应用程序自动加载并输入到REQUEST_TIMEOUT配置变量中,你可以将不同的前缀传递给sanic:
app = Sanic(load_env="PYTHON_")
  • 1

然后以PYTHON_为前缀的环境变量都将以去掉此前缀的方式被加载进来。例如,环境变量PYTHON_DB_USER:root将会在配置中以DB_USER:root出现。如果你想禁止从环境变量中加载,你可以将此值设置为False

app = Sanic(load_env=False)
  • 1
  • 从一个对象:我们可以专门定义一个配置类或者模块来定义我们需要的配置选项和值,然后加载此类或模块
from config.Config import Config

app.config.from_object(Config)
  • 1
  • 2
  • 3
  • 从一个文件:我们可以专门顶一个文件来定义我们需要的配置选项和值,只需要提供该文件的路径即可
app.config.from_pyfile("/aa/bb/cc")
  • 1

内置配置

Sanic除了可以自己定义配置,还有一些开箱即用的配置,如下所示:

变量说明
REQUEST_MAX_SIZE100000000最大的请求大小(字节)
REQUEST_TIMEOUT60请求超时时间(秒)
RESPONSE_TIMEOUT60响应超时时间(秒)
KEEP_ALIVETrue保持活着
KEEP_ALIVE_TIMEOUT5保持活着超时时间

这几个预定义的值可以在修改配置时进行修改或覆盖

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/136876
推荐阅读
相关标签
  

闽ICP备14008679号