【问题标题】:Python Paste and auto-restart on non Python source file changePython 粘贴并在非 Python 源文件更改时自动重启
【发布时间】:2012-11-06 19:57:02
【问题描述】:

paster serve 具有--reload 选项,可在任何 Python 源文件或 CONFIG_FILE 更改时自动重新启动服务 wsgi 应用程序。 当其他文件(不是 Python 源文件)发生变化时,如何让 paster 启动自动重启?

更新

mksh 建议的

watch_file() 函数看起来像是问题的解决方案。然而 mksh 建议将其调用添加到应用程序的入口点,这似乎比它应该的更具侵入性。我可以(非侵入性地)扩展粘贴的serve 命令添加新选项,这将导致调用watch_file() 并使用从CONFIG_FILE 中的应用程序部分读取的文件名?

【问题讨论】:

    标签: python automation paster


    【解决方案1】:

    Paster source link

    因此,您可以简单地查看非源文件,只需将这些行放在应用程序入口点的底部即可:

    from paste.reloader import watch_file
    
    #
    # logic that puts list of your non-source file names suitable 
    # for open() into iterable non_source_file_list
    #
    
    for non_source_file in non_source_file_list:
        watch_file(non_source_file_name)
    

    一般来说,在使用像 Paste 这样现代且真正用 Python 风格编写的框架时,尝试更多地依赖源代码而不是文档,它们的代码大部分都有很好的文档记录,而且是自文档化的。

    【讨论】:

    • 由于我在网上找不到关于这个主题的任何信息,我开始自己挖掘源代码,也发现了这个功能。很棒的发现!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 2018-08-27
    相关资源
    最近更新 更多