获取502错误时在django(nginx)中导入类

时间:2014-05-02 02:15:54

标签: python django nginx uwsgi

我编写了一个名为DataExportToJson的python类,用于读取文件并将其导出为JSON格式。然后我将这个类嵌入另一个名为ProcessFromData的类中,如下所示:

import DataExportToJson  **#Example(1)**
class ProcessFromData:
    def processing(self, fileName):
        (doing something...)
        DataExportToJson.export_json(fileName)
    return True

如果从我的控制台直接调用,上面的代码运行良好。然后,这个ProcessFromData类嵌入在Django服务器的视图文件中。 (我使用的是django 1.5.5和nginx 1.1.19)也就是说,在views.py中我写了这个:

from thirdparty.ProcessFromData import ProcessFromData
def BookApp(request):
    if request.method == 'GET':
        inStance = ProcessFromData()
        inStance.processing(fileName)

通过使用上面的代码,我得到了一个" 502 Bad Gateway"错误。在日志中,我看到:

[error] 21443#0: *4 upstream prematurely closed connection while reading response header from upstream, client: 192.168.157.1, server: BookAppcollect, upstream: "uwsgi://unix:///tmp/uwsgi.sock:", 

经过多次试验,我错误地通过重新导入DataExportToJson类来改变ProcessFromData类:

class ProcessFromData:   **#Example(2)**
    def processing(self, fileName):
        (doing something...)
        import DataExportToJson           **#difference here**
        DataExportToJson.export_json(fileName)
    return True

然后一切都很顺利。现在我很困惑。 我的问题是:

  1. #Example(1)和#Example(2)
  2. 之间有什么区别
  3. 是来自内存限制的问题? " 502 Bad Gateway"错误发生了?

0 个答案:

没有答案