V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
taomujian
V2EX  ›  Python

Python flask 怎么向客户端下发配置文件?

  •  
  •   taomujian · 2020-10-12 19:12:46 +08:00 · 2315 次点击
    这是一个创建于 1497 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有个业务场景是用 flask 起一个 web 服务,有几个进行设置的选项,设置选项新的值后怎么把这个最新的值发送给正在运行的另一个 python 脚本,让 python 脚本根据最新的设置运行?

    目前 python 自动重新加载已经实现了,关于 web 服务端怎么下发配置到本地还没有思路,不使用数据库进行通信.望各位赐教!

    14 条回复    2020-10-13 15:53:37 +08:00
    summerwar
        1
    summerwar  
       2020-10-12 19:42:54 +08:00
    写个配置文件,将内容下发到配置文件,然后 Python 脚本从配置文件里加载数据
    clino
        2
    clino  
       2020-10-12 19:44:49 +08:00 via Android   ❤️ 1
    脚本自己从服务端获取最新的不行吗?
    TypeError
        3
    TypeError  
       2020-10-12 19:46:26 +08:00
    轮询或者长链接
    neoblackcap
        4
    neoblackcap  
       2020-10-12 19:58:35 +08:00
    基于 Http 的基本上就是轮训跟长连接。当然你要搞 websocket 的话,那么就可以保持连接的同时,你服务端向下发送更新数据以及指令
    taomujian
        5
    taomujian  
    OP
       2020-10-13 10:13:56 +08:00
    @summerwar 怎么下发配置到配置文件呢
    taomujian
        6
    taomujian  
    OP
       2020-10-13 10:14:20 +08:00
    @clino 这样得轮训,太麻烦了
    taomujian
        7
    taomujian  
    OP
       2020-10-13 10:16:44 +08:00
    @neoblackcap 好的,我试下,谢谢
    taomujian
        8
    taomujian  
    OP
       2020-10-13 10:16:49 +08:00
    @TypeError 好的,我试下,谢谢
    clino
        9
    clino  
       2020-10-13 11:17:18 +08:00
    @taomujian 只要服务端能够很高效地返回数据,轮询没什么不好,最简单
    我刚写的一个服务和脚本就是这样的,脚本完全不保存配置,每次运行都从服务端获取配置,这样每次服务端更改配置以后就能在下一次执行的时候得到应用
    luxiaoer
        10
    luxiaoer  
       2020-10-13 12:29:17 +08:00
    是不是问题没有表述清楚或者方向本身有问题
    一个 web 项目要把一个最新的值给一个脚本去执行。
    脚本还在本地,不使用数据库就只能用通过 web api 了吧
    这个情况只有轮训 /websocket 吧
    ---
    Redis 不香么
    summerwar
        11
    summerwar  
       2020-10-13 15:00:13 +08:00
    flask 的 web 开个 route,然后接收新的配置文件,然后 os 的 open & write 写到配置文件里就好了
    taomujian
        12
    taomujian  
    OP
       2020-10-13 15:48:10 +08:00
    @luxiaoer 这个并不是 web 服务项目,是个其它类型的项目,web 是其中的一小部分
    taomujian
        13
    taomujian  
    OP
       2020-10-13 15:49:53 +08:00
    @summerwar 👌
    taomujian
        14
    taomujian  
    OP
       2020-10-13 15:53:37 +08:00
    @clino 是的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   912 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:30 · PVG 06:30 · LAX 14:30 · JFK 17:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.