2015-03-16 5 views
0

У меня проблема с существующим Mojolicous-приложением. Я добавил несколько новых маршрутов, просмотров, контроллеров и моделей и возвращаю результаты базы данных для просмотра с помощью функции Rose :: DB :: Object ORM.Прерывистые ошибки с новым выпуском кода для существующего приложения Mojolicious

Я обновил производственную версию сегодня кодом, который отлично работал на Morbo. Но, на apache2/plack/psgi mod_perl config, новые Модели возвращают только запросы в 1 из 5, иногда 1 в 10 раз.

Я устранил ряд переменных, например, я могу напрямую запросить базу данных и получить результаты без проблем. Старые модели и их запросы всегда работают.

Похоже, что только эта новая функциональность является прерывистой. Я сузил запросы только на один сервер и перезапустил apache. Но теперь я понимаю, почему проблема не сохраняется.

Я думаю, что это какое-то поведение mod_perl, но не знаю, почему перезапуск Apache не исправляет его.

Любая помощь или идеи были бы замечательными.

+0

Есть ли сообщения об ошибках в журналах? – alexk

+0

Ошибка, которую я получаю в журналах, находится в представлении. Я получаю переменную, а не импортированную ошибку (переменная «$ tag» не импортируется). Это действительно странно, потому что даже если запрос, который заполняет эту переменную в контроллере, возвращается пустым, он все равно будет импортирован. Итак, я думаю, что есть старый код, отвечающий на эти запросы. Но я не знаю, как найти и исправить это. – dudeman

+0

Обновление по этому вопросу. Я положил штамп в контроллер, перезапустил apache и отметил, что он периодически отображается в журналах. – dudeman

ответ

0

Я, наконец, решил это, и это оказалось чем-то простым. Мне не хватает инструкции использования моего контроллера в моем главном сценарии приложения. Сценарий, где я настраиваю маршруты. Я не уверен, что понимаю, почему он работает с перерывами в производстве и работает все время в разработке. Но, как только я добавил:

использование TheApp :: Controller :: Tags; в главном приложении pm он работал последовательно.

В ретроспективе кажется, что я должен был понять это раньше, но тот факт, что он работал часть времени, привел меня к неправильному пути. Надеюсь, это когда-нибудь поможет кому-то другому.