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-битном хосте (также пока не нужно)