【发布时间】:2016-08-28 04:08:24
【问题描述】:
我有一个使用 Gunicorn 运行的烧瓶应用程序。在我的 app.config 中,我有一个字段“键”,我想在不重新启动应用程序的情况下动态更改它。
我能够在没有 gunicorn 的情况下在本地执行此操作,即更改 app.config["key"] 的值。 但是当使用 gunicorn 时,密钥会在每次请求后恢复到原来的值。
有什么想法吗?
谢谢
【问题讨论】:
-
我不确定你的真正意思是什么,docs.gunicorn.org/en/stable/settings.html#reload。你想自动重启吗?
-
不是自动重启。因此密钥每月自动轮换并写入文件。密钥是用于访问 amazon S3 的 IAM 密钥。在应用程序启动时,我有 app.config["key"] = default_value。每当密钥发生新变化时,我都会尝试此 app.config["key"] = new_key_from_file
-
你能提供一个MCVE吗?
-
您的应用程序很可能在多个线程/进程中运行,因此您需要全部更改。个人认为解决这个问题最好的办法是使用共享缓存系统,比如redis/memcache。如果它发生变化,它不应该在配置中恕我直言。
标签: python multithreading flask gunicorn