запустить фей в cloudControl

Вопрос:

Проблема аналогична установке Faye в рабочей среде. Не удается запустить Faye в тестовом режиме на CloudControl. Вот faye.ru:

require 'faye'
faye_server = Faye::RackAdapter.new(:mount => '/faye', :timeout => 45)
Faye::WebSocket.load_adapter('thin')
run faye_server

Вот Procfile:

web: bundle exec thin start -R config.ru -e $RAILS_ENV -p $PORT
faye: bundle exec thin start -R faye.ru -p 9292

Журнал подготовки:

11/21/14 12:27 PM Deploy ***** Deployed 09c2174cba4b14375779a5160ab7348a62a570b4 *****
11/21/14 12:27 PM Info Started GET "/" for 10.99.3.169 at 2014-11-21 10:27:02 +0000
11/21/14 12:27 PM Info Listening on 0.0.0.0:25143, CTRL+C to stop
11/21/14 12:27 PM Info Maximum connections set to 1024
11/21/14 12:27 PM Info Thin web server (v1.6.3 codename Protein Powder)
11/21/14 12:27 PM Deploy ***** Deployed 09c2174cba4b14375779a5160ab7348a62a570b4 *****
11/21/14 12:27 PM Info Started GET "/" for 10.94.134.23 at 2014-11-21 10:27:01 +0000
11/21/14 12:27 PM Info Listening on 0.0.0.0:12103, CTRL+C to stop
11/21/14 12:27 PM Info Maximum connections set to 1024
11/21/14 12:27 PM Info Thin web server (v1.6.3 codename Protein Powder)

И myapp.cloudcontrolapp.com в порядке, но я не могу получить myapp.cloudcontrolapp.com:9292/faye.js

Если я запускаю сервер rails локально с faye, у меня все нормально: 1. rails s 2. if Rails.env.development? Thread.new do system("rackup faye.ru -s thin -E production") end end в инициализаторе. Локальный журнал:

Thin web server
Maximum connections set to 1024
Listening on 0.0.0.0:9292, CTRL+C to stop
Thin web server 
Maximum connections set to 1024
Listening on 0.0.0.0:3000, CTRL+C to stop

И localhost:9292/faye.js в порядке, localhost:3000 в порядке

Может ли кто-нибудь указать мне, как запустить Faye в cloudControl? Спасибо.


person Sergii Brytiuk    schedule 21.11.2014    source источник


Ответы (1)


Извне доступны только процессы веб-типа, и они должны прослушивать порт, указанный в $port. Так же, как ваша первая строка в файле Procfile. Если вы хотите, чтобы второй процесс прослушивал порт и был доступен извне, вы должны поместить его во второе приложение.

person pst    schedule 24.11.2014
comment
Спасибо. Для этого должна быть какая-то глубокая причина, но ваше решение вполне приемлемо. - person Sergii Brytiuk; 24.11.2014