当前位置: 首页 > 知识库问答 >
问题:

mod wsgi上Django 1.7的代码更改监控出现故障

邴俊友
2023-03-14

这是我在mod_wsgi中运行Django 1.7的所有站点上都遇到的问题。问题的关键是,如果在本地开发时,我在代码库中引入了致命错误,然后对其进行纠正,那么代码监控脚本不会检测到纠正。

我用格雷厄姆·邓普尔顿的监视器。py脚本,用于在本地开发时检测代码库的更改(我使用apache而不是Django开发服务器)。

它总是在Django工作

File "/home/me/.virtualenvs/myvirtualenv/lib/python2.7/site-packages/django/core/wsgi.py", line 14, in get_wsgi_application
    django.setup()
File "/home/me/virtualenvs/myvirtualenv/lib/python2.7/site-packages/django/__init__.py", line 21, in setup
    apps.populate(settings.INSTALLED_APPS)
File "/home/me/.virtualenvs/myvirtualenv/lib/python2.7/site-packages/django/apps/registry.py", line 78, in populate
    raise RuntimeError("populate() isn't reentrant")
RuntimeError: populate() isn't reentrant

令人恼火的是,如果我纠正了错误,监视器。py没有检测到更改,所以我必须重新启动apache,或者触摸另一个已经加载的文件(例如设置文件)。

我认为这是因为“重新加载的代码只监视导入的文件(也称为sys.modules)”(源代码)。因此,由于未成功导入错误的文件,请监视。py不知道重新启动流程。

共有1个答案

牟正真
2023-03-14

我不确定您的部署过程是什么,也不确定您的生产操作系统是什么,但在Linux/Ubuntu世界中有一个名为pyclean的操作系统命令。在Django/Python部署脚本(通常通过fabric)期间,我发出命令“pyclean”在项目根目录中。该脚本递归删除所有。从当前文件夹开始的pyc文件。我希望这有帮助。

 类似资料:
  • 我在几周内甚至没有接触代码,并说它属于Arraylist之后,就出现了这个错误。这就是我犯的错误。 JAVAlang.RuntimeException:无法启动活动组件信息{com.example.android.login/com.example.android.login.MainActivity}:java。lang.IndexOutOfBoundsException:索引0无效,andro

  • 我有一个问题,在Visual Studio代码中,即使启用了编辑器,我也看不到用于合并冲突的工具栏。codeLens。 知道它还能是什么吗?我试图重新启动VS Code,禁用/启用editor.code镜头。我甚至安装/卸载了Gitlen-Git增压。 提前谢谢你。 我的输入参考来自:接受VS代码中未出现的传入更改

  • 本文向大家介绍Java实现文件监控器FileMonitor的实例代码,包括了Java实现文件监控器FileMonitor的实例代码的使用技巧和注意事项,需要的朋友参考一下 应用场景: 代码可以实现文件变化后的监听,如文件变化,自动重新加载文件内容,实现配置文件的热部署。 代码:  package com.yx.demo.filemonitor;  使用demo: 总结 以上所述是小编给大家介绍的J

  • 本文向大家介绍监控Nodejs的性能实例代码,包括了监控Nodejs的性能实例代码的使用技巧和注意事项,需要的朋友参考一下 下面给大家介绍下监控Nodejs的性能, 最近想监控一下Nodejs的性能。记录分析Log太麻烦,最简单的方式是记录每个HTTP请求的处理时间,直接在HTTP Response Header中返回。 记录HTTP请求的时间很简单,就是收到请求记一个时间戳,响应请求的时候再记一

  • 本文向大家介绍JavaScript代码异常监控实现过程详解,包括了JavaScript代码异常监控实现过程详解的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了JavaScript代码异常监控实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JavaScript异常一般有两方面:语法错误和运行时错误。两种错误的捕获和处理方式不

  • 有人能提出什么解决办法吗?