python——尝试了解tornado.options.define
我对龙卷风一无所知。我一直在阅读文档(https://www.tornadoweb.org/en/stable/options.html)关于tornado.options.define
试图理解它是如何工作的。
看起来default
参数是必需的。在什么情况下default
参数是否被覆盖?我该如何做到这一点?我有一个服务文件,它调用一个名为cub_master_server.py
.cub_master_server.py
传入一个名为--raw_server_table
定义为/usr/share/misc/raw_server_table.json
.现在,如果出现与此问题无关的情况,我必须运行一个稍微不同的服务文件。然而,唯一相关的变化是cub_master_服务器。py现在需要一个名为raw_server_table_minimal.json
(请参阅下面的代码片段)。
a _ Service _ file . Service[服务部分的一部分]
ExecStart=/bin/sh -c "/usr/bin/python2 /usr/bin/cub_master_server.py \
--certificate_name=`openssl x509 -in /etc/twt/security/unit.pem -subject -noout | sed -e 's/.*CN=\\(.*\\)/\\1/' || echo bad` \
--raw_server_table=/usr/share/misc/raw_server_table_minimal.json"
然而,我不相信cub_master_server.py
正在正确处理此信息。特别是因为上一次tornado.options.define()
.我认为default
参数正在覆盖新的原始服务器表。来自服务文件的json输入。
cub _ master _ server . py[其中一部分]
tornado.options.define("m_certificate",
default="/etc/twt/security/m/unit.pem",
help="Path of certificate", type=str)
tornado.options.define("m_key",
default="/etc/twt/security/m/unit_key.pem",
help="Path of key", type=str)
tornado.options.define("m_cainfo",
default="/etc/twt/security/m/manager_ca.pem",
help="Path of ca certificate", type=str)
tornado.options.define("m_certificate_name",
default="mfg-default",
help="commonName field of certificate", type=str)
tornado.options.define("m_proxy_certificate",
default="/etc/twt/security/m/proxy.pem",
help="Path of certificate to use for proxy requests",
type=str)
tornado.options.define(
"raw_server_table",
default="/usr/share/misc/raw_server_table.json",
help="Raw server table",
type=str)
如果是这样的话,我将如何修改默认参数,使其可以同时使用这两个参数raw_server_table.json
和raw_server_table_minimal.json
作为有效输入?我已经试过复制最后一张了tornado.options.define()
把绳子换掉/usr/share/misc/raw_server_table.json
对于/usr/share/misc/raw_server_table_minimal.json
.然而,这导致了预期错误raw_server_table
选项被复制。