Rails 3.1 + Heroku =工人崩溃

时间:2012-04-01 12:15:19

标签: ruby-on-rails ruby-on-rails-3 heroku

所以,我刚刚提出了一个全新的Rails 3.1.1应用程序(Ruby 1.8.7)。

在那里放几个脚手架,安装Authlogic,并创建一个新的Heroku应用程序。将它推送到Heroku并迁移数据库。

一切都很好。我可以使用Authlogic创建新用户帐户,并在Heroku上的模型中创建新记录。

但有趣的是。如果我将'工作人员dynos'从零增加到任何东西,heroku日志会显示那些试图启动并且崩溃的工人。

但是,我没有安装延迟作业。并且从未将延迟工作引入此应用

我还没有介绍除Twilio或任何高级代码之外的任何“高级”宝石。它只是具有authlogic的新rails应用程序。也没有新的佣金任务。

另一个注意事项:在我的本地开发机器上,我尝试在不同的应用程序上安装延迟作业,但是失败了。延迟工作的“幽灵”难道会困扰这个新应用吗?

谢谢!

下面的代码.....

我将Web worker从0增加后的Heroku日志 - > 2。

2012-04-01T11:44:04+00:00 heroku[api]: Scale to web=1, worker=2 by doug@goinfield.com
2012-04-01T11:44:07+00:00 heroku[worker.2]: Starting process with command `bundle exec rake jobs:work`
2012-04-01T11:44:07+00:00 heroku[worker.1]: Starting process with command `bundle exec      rake jobs:work`
2012-04-01T11:44:08+00:00 heroku[worker.2]: State changed from starting to up
2012-04-01T11:44:08+00:00 heroku[worker.1]: State changed from starting to up
2012-04-01T11:44:11+00:00 app[worker.2]: rake aborted!
2012-04-01T11:44:11+00:00 app[worker.2]: Don't know how to build task 'jobs:work'
2012-04-01T11:44:11+00:00 app[worker.2]: 
2012-04-01T11:44:11+00:00 app[worker.2]: (See full trace by running task with --trace)
2012-04-01T11:44:12+00:00 heroku[worker.2]: Process exited with status 1
2012-04-01T11:44:12+00:00 heroku[worker.2]: State changed from up to crashed
2012-04-01T11:44:12+00:00 heroku[worker.2]: State changed from crashed to created
2012-04-01T11:44:12+00:00 heroku[worker.2]: State changed from created to starting
2012-04-01T11:44:13+00:00 app[worker.1]: rake aborted!
2012-04-01T11:44:13+00:00 app[worker.1]: Don't know how to build task 'jobs:work'
2012-04-01T11:44:13+00:00 app[worker.1]: 
2012-04-01T11:44:13+00:00 app[worker.1]: (See full trace by running task with --trace)
2012-04-01T11:44:14+00:00 heroku[worker.1]: Process exited with status 1
2012-04-01T11:44:14+00:00 heroku[worker.1]: State changed from up to crashed
2012-04-01T11:44:14+00:00 heroku[worker.1]: State changed from crashed to created
2012-04-01T11:44:14+00:00 heroku[worker.1]: State changed from created to starting
2012-04-01T11:44:16+00:00 heroku[worker.2]: Starting process with command `bundle exec rake jobs:work`
2012-04-01T11:44:17+00:00 heroku[worker.2]: State changed from starting to up
2012-04-01T11:44:18+00:00 heroku[worker.1]: Starting process with command `bundle exec rake jobs:work`
2012-04-01T11:44:19+00:00 heroku[worker.1]: State changed from starting to up
2012-04-01T11:44:20+00:00 app[worker.2]: rake aborted!
2012-04-01T11:44:20+00:00 app[worker.2]: Don't know how to build task 'jobs:work'
2012-04-01T11:44:20+00:00 app[worker.2]: 
2012-04-01T11:44:20+00:00 app[worker.2]: (See full trace by running task with --trace)
2012-04-01T11:44:22+00:00 heroku[worker.2]: Process exited with status 1
2012-04-01T11:44:22+00:00 heroku[worker.2]: State changed from up to crashed
2012-04-01T11:44:22+00:00 app[worker.1]: rake aborted!
2012-04-01T11:44:22+00:00 app[worker.1]: Don't know how to build task 'jobs:work'
2012-04-01T11:44:22+00:00 app[worker.1]: 
2012-04-01T11:44:22+00:00 app[worker.1]: (See full trace by running task with --trace)
2012-04-01T11:44:23+00:00 heroku[worker.1]: Process exited with status 1
2012-04-01T11:44:23+00:00 heroku[worker.1]: State changed from up to crashed

Gemfile.lock的

GEM
  remote: http://rubygems.org/
  specs:
    actionmailer (3.1.1)
      actionpack (= 3.1.1)
      mail (~> 2.3.0)
    actionpack (3.1.1)
      activemodel (= 3.1.1)
      activesupport (= 3.1.1)
      builder (~> 3.0.0)
      erubis (~> 2.7.0)
      i18n (~> 0.6)
      rack (~> 1.3.2)
      rack-cache (~> 1.1)
      rack-mount (~> 0.8.2)
      rack-test (~> 0.6.1)
      sprockets (~> 2.0.2)
    activemodel (3.1.1)
      activesupport (= 3.1.1)
      builder (~> 3.0.0)
      i18n (~> 0.6)
    activerecord (3.1.1)
      activemodel (= 3.1.1)
      activesupport (= 3.1.1)
      arel (~> 2.2.1)
      tzinfo (~> 0.3.29)
    activeresource (3.1.1)
      activemodel (= 3.1.1)
      activesupport (= 3.1.1)
    activesupport (3.1.1)
      multi_json (~> 1.0)
    addressable (2.2.7)
    arel (2.2.3)
    authlogic (3.1.0)
      activerecord (>= 3.0.7)
      activerecord (>= 3.0.7)
    builder (3.0.0)
    coffee-rails (3.1.1)
      coffee-script (>= 2.2.0)
      railties (~> 3.1.0)
    coffee-script (2.2.0)
      coffee-script-source
      execjs
    coffee-script-source (1.2.0)
    erubis (2.7.0)
    execjs (1.3.0)
      multi_json (~> 1.0)
    heroku (2.23.0)
      launchy (>= 0.3.2)
      netrc (~> 0.7.1)
      rest-client (~> 1.6.1)
      rubyzip 
    hike (1.2.1)
    i18n (0.6.0)
    jquery-rails (1.0.16)
      railties (~> 3.0)
      thor (~> 0.14)
    json (1.5.1)
    launchy (2.1.0)
      addressable (~> 2.2.6)
    mail (2.3.3)
      i18n (>= 0.4.0)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    mime-types (1.18)
    multi_json (1.2.0)
    netrc (0.7.1)
    pg (0.13.2)
    polyglot (0.3.3)
    rack (1.3.6)
    rack-cache (1.2)
      rack (>= 0.4)
    rack-mount (0.8.3)
      rack (>= 1.0.0)
    rack-ssl (1.3.2)
      rack
    rack-test (0.6.1)
      rack (>= 1.0)
    rails (3.1.1)
      actionmailer (= 3.1.1)
      actionpack (= 3.1.1)
      activerecord (= 3.1.1)
      activeresource (= 3.1.1)
      activesupport (= 3.1.1)
      bundler (~> 1.0)
      railties (= 3.1.1)
    railties (3.1.1)
      actionpack (= 3.1.1)
      activesupport (= 3.1.1)
      rack-ssl (~> 1.3.2)
      rake (>= 0.8.7)
      rdoc (~> 3.4)
      thor (~> 0.14.6)
    rake (0.9.2.2)
    rdoc (3.12)
      json (~> 1.4)
    rest-client (1.6.7)
      mime-types (>= 1.16)
    rubyzip (0.9.4)
    sass (3.1.15)
    sass-rails (3.1.4) 
      actionpack (~> 3.1.0)
      railties (~> 3.1.0)
      sass (>= 3.1.4)
      sprockets (~> 2.0.0)
      tilt (~> 1.3.2)
    sequel (3.20.0)   
    sinatra (1.0)
      rack (>= 1.0)
    sprockets (2.0.3)
       hike (~> 1.2)
      rack (~> 1.0)
      tilt (~> 1.1, != 1.3.0)
    sqlite3 (1.3.4)
    sqlite3-ruby (1.3.3)
      sqlite3 (>= 1.3.3)
    taps (0.3.23)
       rack (>= 1.0.1)
      rest-client (>= 1.4.0, < 1.7.0)
      sequel (~> 3.20.0)
      sinatra (~> 1.0.0)
      sqlite3-ruby (~> 1.2)
    thor (0.14.6)
    tilt (1.3.3)
    treetop (1.4.10)
      polyglot
      polyglot (>= 0.3.1)
    twiliolib (2.0.7)
      builder (>= 2.1.2)
    tzinfo (0.3.32)
    uglifier (1.2.4)
      execjs (>= 0.3.0)
      multi_json (>= 1.0.2)

PLATFORMS
  ruby

DEPENDENCIES
  authlogic
  coffee-rails (~> 3.1.1)
  heroku
  jquery-rails
  json
  pg
  rails (= 3.1.1)
  sass-rails (~> 3.1.4)
  sqlite3
  taps
  twiliolib
  uglifier (>= 1.0.3)

Heroku推出列出的宝石

-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Detected Rails is not set to serve static_assets
       Installing rails3_serve_static_assets... done
-----> Configure Rails 3 to disable x-sendfile
       Installing rails3_disable_x_sendfile... done
-----> Configure Rails to log to stdout
       Installing rails_log_stdout... done
-----> Gemfile detected, running Bundler version 1.0.7
       Unresolved dependencies detected; Installing...
        Using --without development:test
        Fetching source index for http://rubygems.org/
       Installing rake (0.9.2.2) 
       Installing multi_json (1.2.0) 
       Installing activesupport (3.1.1)    
       Installing builder (3.0.0) 
       Installing i18n (0.6.0) 
       Installing activemodel (3.1.1) 
       Installing erubis (2.7.0) 
       Installing rack (1.3.6) 
       Installing rack-cache (1.2) 
       Installing rack-mount (0.8.3) 
       Installing rack-test (0.6.1) 
       Installing hike (1.2.1) 
       Installing tilt (1.3.3) 
       Installing sprockets (2.0.3) 
       Installing actionpack (3.1.1) 
       Installing mime-types (1.18) 
       Installing polyglot (0.3.3) 
       Installing treetop (1.4.10) 
       Installing mail (2.3.3) 
       Installing actionmailer (3.1.1) 
       Installing arel (2.2.3) 
       Installing tzinfo (0.3.32) 
       Installing activerecord (3.1.1) 
       Installing activeresource (3.1.1) 
       Installing addressable (2.2.7) 
       Installing authlogic (3.1.0) 
       Installing coffee-script-source (1.2.0) 
       Installing execjs (1.3.0) 
       Installing coffee-script (2.2.0) 
       Installing rack-ssl (1.3.2) 
       Installing json (1.5.1) with native extensions 
       Installing rdoc (3.12) 
       Installing thor (0.14.6) 
       Installing railties (3.1.1) 
       Installing coffee-rails (3.1.1) 
       Installing launchy (2.1.0) 
       Installing netrc (0.7.1) 
       Installing rest-client (1.6.7) 
       Installing rubyzip (0.9.4) 
       Installing heroku (2.23.0) 
       Installing jquery-rails (1.0.16) 
       Installing pg (0.13.2) with native extensions 
       Using bundler (1.0.7) 
       Installing rails (3.1.1) 
       Installing sass (3.1.15) 
       Installing sass-rails (3.1.4) 
       Installing sequel (3.20.0) 
       Installing sinatra (1.0) 
       Installing sqlite3 (1.3.4) with native extensions 
       Installing sqlite3-ruby (1.3.3) 
       Installing taps (0.3.23) 
       Installing twiliolib (2.0.7) 
       Installing uglifier (1.2.4) 
       Your bundle is complete! It was installed into ./.bundle/gems/
-----> Compiled slug size is 7.8MB
-----> Launching... done, v4

heroku stack产生了这个:

  aspen-mri-1.8.6
* bamboo-mri-1.9.2
  bamboo-ree-1.8.7
  cedar (beta)

1 个答案:

答案 0 :(得分:4)

工作人员dynos专门处理延迟工作任务。

如果您没有安装延迟作业,那么您不应该扩展您的工作人员数量(这是照顾DJ工作的地方)。

如果您的意思是扩展您的网络动态,那么只需缩放web = 2或任何您想要的。

我猜测你的错误是因为你刚接触过的DJ工作人员找不到任何工作要做,而且错误了。

缩放worker = 0并查看是否修复了它。

如果您想扩展网络动态以获得更好的性能,那么网络就是您所需要的。

有关Heroku dyno类型的更多文档:https://devcenter.heroku.com/articles/scaling