Запросы Mochiweb mnesia

Я пытаюсь связать Mochiweb с моей базой данных ejabberd mnesia и не могу выполнять какие-либо транзакции mnesia в своих контроллерах. Я тестирую свои контроллеры без транзакций mnesia, и они работают нормально. Я использую application: start (mnesia) внутри функции запуска.

В браузере я вижу «Внутренняя ошибка сервера», а в журнале Mochiweb - «= ОТЧЕТ ОБ ОШИБКЕ === function_clause». Я хотел бы знать, как: 1) заставить mnesia работать с Mochiweb или 2) какой хороший фреймворк я мог бы подключить к веб-серверу ejabberd.

Спасибо!


person ewindsor    schedule 14.10.2009    source источник


Ответы (3)


Есть ли у вас остальная часть сообщения об ошибке из журнала Mochiweb - бит после "function_clause", если он есть?

person Rob Charlton    schedule 15.10.2009
comment
Я знаю, этот вопрос может показаться глупым ... но где файлы журнала для Mochiweb ?? - person ewindsor; 22.10.2009

Это должно быть ошибка в вашем коде. В прошлый раз, когда я проверил исходный код mochiweb, он заключил вашу функцию «цикла» в ловушку попытки. Если он перехватывает исключение, он печатает тип этого исключения в журнале ошибок; в вашем случае у вас есть исключение function_clause.

Либо попробуйте вызвать функцию цикла вручную, либо оберните свой код еще одним уловом попытки, чтобы увидеть все исключение. Если вы не можете его расшифровать, вставьте, пожалуйста, в свой вопрос.

person Zed    schedule 15.10.2009

Знаете, мне кажется, я все делал неправильно ... Я думал, что это будет работать как PHP / SQL и Rails / SQL, но, похоже, лучший способ сделать это - вызвать методы из узла Mochiweb в узел ejabberd.

Также я заметил, что когда я запускал Mochiweb, подключенный к той же базе данных mnesia, что и ejabberd, он пытался «восстановить» некоторые из моих таблиц - в основном стирая все.

Если у кого-то есть какие-либо мнения по этому поводу (или если я полностью отключен), пожалуйста, дайте мне знать. Спасибо!

person ewindsor    schedule 16.10.2009