为什么heroku不运行我的procfile进程?

时间:2012-09-26 17:06:07

标签: ruby-on-rails heroku unicorn foreman

当我在localhost上运行foreman start时,Procfile中的所有进程都正常运行:

#Procfile

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
resque: env TERM_CHILD=1 QUEUE=* bundle exec rake resque:work
sqs_converted: bundle exec rake sqs:listen_converted
sqs_failed: bundle exec rake sqs:listen_failed

$ foreman start

13:52:07 sqs_failed.1     | started with pid 3521
13:52:07 web.1            | started with pid 3518
13:52:07 sqs_converted.1  | started with pid 3520
13:52:07 resque.1         | started with pid 3519

但是当我部署到heroku并运行heroku ps时,我运行的只是一个web.1实例

=== web: `bundle exec unicorn -p $PORT -c ./config/unicorn.rb`
web.1: up for 8m

无法弄清楚发生了什么...... 感谢

1 个答案:

答案 0 :(得分:7)

您仍需要使用heroku ps:scale resque=1 sqs_convert=1 sqs_failed=1扩展流程。您可以阅读有关扩展流程的所有信息以及可以在Heroku文档中Scaling your process formation中使用的命令。