2016-06-05 6 views
0

My Heroku приложение не имеет никаких рабочих. Я масштабироваться работника первого:Heroku не работает работники

heroku ps:scale resque=1 -a test-eagle 
Scaling dynos... done, now running resque at 1:Free 

Затем, когда я проверяю рабочих, я вижу:

heroku ps:workers -a test-eagle 
<app> is running 0 workers 

Что может быть worng здесь? Это как мой Procfile выглядит:

web: bundle exec puma -C config/puma.rb 
resque: env TERM_CHILD=1 bundle exec rake resque:work QUEUE=* COUNT=1 

Или это потому, что это бесплатное приложение, которое может обрабатывать только 1 вебы-работника и никаких других динамометрических стендов?

Edit:

Когда я проверяю с heroku ps -a <appname> я вижу, что сразу после запуска рабочего разбился: worker.1: crashed. Это ничего не делает в самом приложении.

+0

Вы пытались запустить этого рабочего локально с помощью 'heroku local resque'? – Schnouki

ответ

0

UPDATE: У меня есть «бесплатное» приложение, которое также запускает Puma. Итак, я обновил PROCFILE следующим образом:

web: bundle exec puma -C config/puma.rb 
resque: env TERM_CHILD=1 bundle exec rake resque:work QUEUE=* COUNT=1 

После этого я нажал приложение Heroku и побежал Heroku пс: масштаб, как было указано. Он работал следующим образом:

D:\Bitnami\rubystack-2.2.5-3\projects\kctapp>heroku ps -a kctapp 
=== web (Free): bundle exec puma -C config/puma.rb (1) 
web.1: up 2016/06/06 19:38:24 -0400 (~ 1s ago) 


D:\Bitnami\rubystack-2.2.5-3\projects\kctapp>heroku ps:scale resque=1 -a kctapp 
Scaling dynos... done, now running resque at 1:Free 

D:\Bitnami\rubystack-2.2.5-3\projects\kctapp>heroku ps -a kctapp 
=== web (Free): bundle exec puma -C config/puma.rb (1) 
web.1: up 2016/06/06 19:38:24 -0400 (~ 51s ago) 

=== resque (Free): env TERM_CHILD=1 bundle exec rake resque:work QUEUE=* COUNT=1 (1) 
resque.1: crashed 2016/06/06 19:39:18 -0400 (~ -3s ago) 

Обратите внимание, что это произошло сбой. Но, у меня нет никакого кода, работающего там, так почему бы и нет? Кроме того, обратите внимание, что я использую команду «heroku ps» как «heroku ps: employees», потому что для меня возникает ошибка, говорящая, что она устарела.

Это мой конфиг/puma.rb, если это помогает:

workers Integer(ENV['WEB_CONCURRENCY'] || 4) 
threads_count = Integer(ENV['MAX_THREADS'] || 8) 
threads threads_count, threads_count 

preload_app! 

rackup  DefaultRackup 
port  ENV['PORT']  || 5000 
environment ENV['RACK_ENV'] || 'development' 

С редактирования: Я пропустил масштабную команду ...

См масштабирования в Heroku here. Параметры, которые я вижу, это веб, рабочий, грабли или консоль, а не реск. Я попробовал вашу команду, и она не признала «это образование». Мне это интересно.

Проверка бесплатного приложения, это не дает вам возможность добавить рабочий дино. Проверяя приложение для хобби, вы можете добавить к нему рабочих. С помощью профессиональных приложений вы можете смешивать и сопоставлять тип dyno между веб-и рабочим, используя 1X, 2X и Performance dynos.

+0

Я пробовал обе вещи: переименование 'resque' на' worker' и изменение плана от бесплатного до хобби. Но с тем же результатом. – John

+0

@ Инструмент «Джон Хероку» дает мне совершенно разные ответы, чем ваши. Я нахожусь в Windows, но команда Heroku в основном называет их среду, поэтому я удивляюсь различиям. Я собирался попробовать его в своей системе Ubuntu, только чтобы узнать, что он недоступен на данный момент. В любом случае, что вам скажет версия Героку? Я получаю: heroku/toolbelt/3.43.3 (i386-mingw32) ruby ​​/ 2.1.7 и heroku-cli/5.2.18-f850f09 (windows-amd64) go1.6.2 –

+0

Крушение не связано с масштабированием Heroku, оно была неправильной установкой переменной среды Redis, которая вызвала сбой. Теперь это было решено, и теперь рабочий работает нормально. Благодаря! – John

Смежные вопросы