当我在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
无法弄清楚发生了什么...... 感谢
答案 0 :(得分:7)
您仍需要使用heroku ps:scale resque=1 sqs_convert=1 sqs_failed=1
扩展流程。您可以阅读有关扩展流程的所有信息以及可以在Heroku文档中Scaling your process formation中使用的命令。