Heroku 没有开始工作

Heroku not starting workers

我的 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

这里可以穿什么?这是我的 Procfile 的样子:

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

还是因为它是一个免费应用程序,只能处理 1 个网络工作者而不能处理其他测功机?

编辑:

当我检查 heroku ps -a <appname> 时,我发现 worker 刚启动就崩溃了:worker.1: crashed。这没有在应用程序本身中执行任何操作。

更新:嗯,我有一个“免费”应用程序 运行ning 也适用于 运行 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 ps:scale。它的工作方式如下:

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)

请注意,它确实崩溃了。但是,我那里没有任何代码 运行ning,所以这可能是为什么?另外,请注意,我使用“heroku ps”命令作为“heroku ps:workers”对我来说抛出一个错误,说它已被弃用。

这是我的 config/puma.rb,如果那个 helps:

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。我看到的选项是 web、worker、rake 或 console,而不是 resque。我试过你的命令,但它不识别“那个阵型”。我很好奇。

检查一个免费的应用程序,它没有给你添加工人测功机的选项。检查一个爱好应用程序,您可以向其添加工人。使用专业 apps,您可以使用 1X、2X 和 Performance dynos 在 web 和 worker 之间混合和匹配 dyno 类型。