Запустите два приложения адгезии на одной машине - PullRequest
0 голосов
/ 18 августа 2011

У меня есть два отдельных приложения Adhearsion, и мне интересно, если

а) имеет смысл разделять их б) Если я могу вручную переопределить порт по умолчанию Adhearsion работает на

Приложение 1 обрабатывает все входящие и исходящие вызовы, записывает вызовы, потоки вызовов и т. Д. Приложение 2 - это приложение click2call

Есть ли какая-то причина держать их отдельно?

1 Ответ

1 голос
/ 21 августа 2011

A) Я еще не нашел вескую причину для запуска отдельных приложений в отдельных процессах Adhearsion. Достаточно просто перенаправить вызовы на разные компоненты Adhearsion, используя dialplan.rb. Я не нашел возможных выгод (см. Ниже), чтобы компенсировать недостатки (дополнительный мониторинг, дополнительное использование памяти, сложность). Исключения спасаются внутри потоков, поэтому для экземпляра Adhearsion довольно редко происходит полный сбой после его загрузки.

B) Если вы найдете причину для запуска приложений Adhearsion в отдельных процессах, это достаточно просто сделать. Вам просто нужно изменить config / startup.rb, чтобы перевести прослушиватель AGI на другой порт:

config.enable_asterisk: port => 4599

После тушения в течение минуты вот список нескольких причин, по которым вам могут потребоваться разные процессы Adhearsion для разных приложений Adhearsion:

  • Вам нужно запустить JRuby для одного приложения и MRI или 1.9 для другого (устаревший код, зависимости библиотеки)

  • Вы параноик, что один сбой Adhearsion уничтожит оба приложения (как я уже говорил выше, я считаю это маловероятным, но всегда возможно)

  • Вы хотите использовать преимущества нескольких процессоров, запустив два процесса Ruby (мне это пока не нужно, но это возможно. JRuby также возможен здесь).

  • Вам нужно использовать более 3 ГБ памяти на 32-битном хосте (также пока не нужно)

...