Почему не загружается бутылочный сервер?

Я не совсем понимаю, почему сервер бутылочного типа не работает:

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)

Когда я закомментирую конструкцию БД; сервер работает.

В обоих случаях я получаю строку "Took: [секунд]" с меткой времени, которая подразумевает, что раньше ошибки не было.

1 ответ

Решение

Проблема заключается в коде уровня модуля и, возможно, в том, что вы используете переключатель перегрузчика. Проверьте это.

Весь код уровня модуля запускается как минимум дважды при включенном перегрузчике. Я не проверял это, но это имело бы смысл, поскольку он не мог бы порождать ребенка, если БД уже была связана.

попробуй это:

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)
Другие вопросы по тегам