Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Heroku没有开始工作_Ruby On Rails_Heroku_Resque - Fatal编程技术网

Ruby on rails Heroku没有开始工作

Ruby on rails Heroku没有开始工作,ruby-on-rails,heroku,resque,Ruby On Rails,Heroku,Resque,我的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 或者是因为它是一个免费的应用程序,只能处理1个网络工作者,而不能处理其他动态 编辑: 当我

我的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
或者是因为它是一个免费的应用程序,只能处理1个网络工作者,而不能处理其他动态

编辑:

当我与heroku ps-a检查时,我看到在启动工作程序之后,工作程序崩溃了:
worker.1:crasted
。这在应用程序本身中没有做任何事情。

更新:嗯,我有一个“免费”应用程序正在运行,碰巧也运行Puma。因此,我更新了Procfile,如下所示:

web: bundle exec puma -C config/puma.rb
resque: env TERM_CHILD=1 bundle exec rake resque:work QUEUE=* COUNT=1
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,并按照您指定的方式运行Heroku ps:scale。它的工作如下:

web: bundle exec puma -C config/puma.rb
resque: env TERM_CHILD=1 bundle exec rake resque:work QUEUE=* COUNT=1
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:workers”,因为我抛出了一个错误,表示它已被弃用

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

检查一个免费的应用程序,它不会给你选择添加一个工人动态。检查嗜好应用程序,您可以向其添加工作人员。使用专业应用程序,您可以使用1X、2X和性能dynos在web和worker之间混合和匹配dyno类型。

更新:我有一个“免费”应用程序正在运行,碰巧也运行Puma。因此,我更新了Procfile,如下所示:

web: bundle exec puma -C config/puma.rb
resque: env TERM_CHILD=1 bundle exec rake resque:work QUEUE=* COUNT=1
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,并按照您指定的方式运行Heroku ps:scale。它的工作如下:

web: bundle exec puma -C config/puma.rb
resque: env TERM_CHILD=1 bundle exec rake resque:work QUEUE=* COUNT=1
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:workers”,因为我抛出了一个错误,表示它已被弃用

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


检查一个免费的应用程序,它不会给你选择添加一个工人动态。检查嗜好应用程序,您可以向其添加工作人员。使用专业应用程序,您可以使用1X、2X和性能动态来混合和匹配web和worker之间的动态类型。

我尝试了两种方法:将
resque
重命名为
worker
,并将计划从免费更改为业余爱好。但结果是一样的。@John我的Heroku工具箱给我的回答和你的完全不同。我使用的是Windows,但Heroku命令基本上调用了它们的环境,因此我对这些差异感到惊讶。我打算在我的Ubuntu系统上试用它,结果发现它现在不可用。无论如何,Heroku版本告诉你什么?我得到:heroku/toolbelt/3.43.3(i386-mingw32)ruby/2.1.7和heroku cli/5.2.18-f850f09(windows-amd64)go1.6.2崩溃与heroku缩放无关,是Redis环境变量的设置不正确导致了崩溃。这个问题现在已经解决了,工人们现在工作得很好。谢谢我尝试了两种方法:将
resque
重命名为
worker
,并将计划从免费更改为业余爱好。但结果是一样的。@John我的Heroku工具箱给我的回答和你的完全不同。我使用的是Windows,但Heroku命令基本上调用了它们的环境,因此我对这些差异感到惊讶。我打算在我的Ubuntu系统上试用它,结果发现它现在不可用。无论如何,Heroku版本告诉你什么?我得到:heroku/toolbelt/3.43.3(i386-mingw32)ruby/2.1.7和heroku cli/5.2.18-f850f09(windows-amd64)go1.6.2崩溃与heroku缩放无关,是Redis环境变量的设置不正确导致了崩溃。这个问题现在已经解决了,工人们现在工作得很好。谢谢您是否尝试使用
heroku local resque
在本地运行此工作程序?是否尝试使用
heroku local resque
在本地运行此工作程序?