Вопрос

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

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

Спасибо!

Это было полезно?

Решение 3

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

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top