2012-08-04 50 views
0

我在生产中遇到问题,其中一个apache Django进程吐出了ViewDoesNotExist错误,这是由于加载相关视图模块时发生异常。该例外是由于进口链深处发生的令人难以置信的不可能事件。如何强制Django进程崩溃视图导入错误?

发生错误时,此过程只是保持ViewDoesNotExist错误,因为视图导入失败。

我宁愿碰巧处理不可预见的未来错误,也是因为进程只是在导入错误时崩溃。如果进程重新启动,最多只有一个请求会引发此错误。

有没有办法改变这种行为? (没有修改Django源代码)

回答

1

我不这么认为。 Django本身被设计成一个具有测试服务器的框架(并且作为服务器,除非在极端情况下它不应该崩溃)。根据OP,问题在于Django引导中的竞争条件。我已经找到了答案(由别人解决)here

+0

哦,导入问题是由于导入模块试图获取由于EDEADLOCK失败的锁。这是一个非常罕见的竞争条件被击中。这是我担心未来的错误。 – UsAaR33 2012-08-04 07:02:01

+0

根据https://code.djangoproject.com/ticket/18251,这个问题可能不会存在很长时间 – 2012-08-04 07:22:27