防止 CherryPy 自动重新加载

Prevent CherryPy from automatically reloading

Stack Overflow 上还没有人问过这个问题,这让我感到困惑,但我给了它一个诚实的搜索...

我目前正在使用 CherryPy(以及路由和 Mako,以防相关)开发一个简单的 Web 应用程序。除了 CherryPy 拥有的一些 非常有用 机制外,一切进展顺利每当我更改代码时,它都会自动重新加载服务器进程;不可避免地,这将与我的 IDE 的调试器发生冲突,由于代码编写一半而崩溃,并留下一个在相关端口上侦听的无效进程,导致以后的服务器进程拒绝 运行 直到我从任务管理器手动强制退出它。

环顾四周,听起来这可以通过在初始化时传递给 CherryPy 的配置字典来禁用,例如

conf = {'/': {'request.dispatch': d, 'engine.autoreload.on' : False}}

cherrypy.tree.mount(root=None, config=conf)

但这似乎并没有改变任何东西。我在这里遗漏了什么吗?

您必须在 global namespace because is part of the engine 上配置自动重新加载:

app_conf = {'/': {'request.dispatch': d}}
cherrypy.config.update({
    'global': {
       'engine.autoreload.on' : False
     }
 })
cherrypy.tree.mount(root=None, config=app_conf)

或者设置生产环境更好:

 cherrypy.config.update({
     'global': {
        'environment' : 'production'
      }
 })

这将禁用自动重新加载 among other things