为什么不装瓶服务器?

时间:2013-05-19 08:14:58

标签: python webserver wsgi bottle wsgiref

我很困惑为什么瓶装服务器没有运行:

if __name__ == '__main__':
    start = datetime.now()
    db = Database(force_refresh_cache=False,
                  timestamp_filename='timestamp.pickle',
                  schema_filename='schema.pickle')
    print datetime.now(), 'Took:', (datetime.now() - start).total_seconds()

    run(host='localhost', port=80, reloader=True, debug=True)

当我注释掉db构造时;服务器运行。

在这两种情况下,我得到时间戳“Took:[seconds]”行,这意味着之前没有发生错误。

1 个答案:

答案 0 :(得分:1)

问题是模块级代码,可能是您正在使用重新加载器开关。检查this

重新加载器打开时,所有模块级代码至少运行两次。我没有对此进行过测试,但这是有道理的,因为如果数据库已被捆绑,它将无法产生一个孩子。

试试这个:

if __name__ == '__main__':
    start = datetime.now()
    db = Database(force_refresh_cache=False,
                  timestamp_filename='timestamp.pickle',
                  schema_filename='schema.pickle')
    print datetime.now(), 'Took:', (datetime.now() - start).total_seconds()

    run(host='localhost', port=80, debug=True)