ruby-on-rails - www - heroku ruby app



1つのHeroku dynoにいくつのRailsアプリケーションがありますか? (3)

私はちょうどあなたが1つのdynoで英雄でホストできるアプリケーションの数を見つけることができませんか?

私はトラフィックの少ない小さなアプリをたくさんホストする予定です。

あなたの答えをありがとう


Dyno / subdomain.heroku.comごとに1つのアプリケーション。



私はあなたがWeb dynoの中で別のWebプロセスをスピンアップできると信じています。 私は労働者とそれをしました。 ある従業員のdynoには3つのサブプロセスがありました。 それぞれがレールアプリのコピーであり、それぞれがデータベース上で独立して実行されます。 どのようにして正しいアプリケーションを起動させることができますか、わかりません。コントローラアプリケーションが必要です。
私はそれが不可能ではないと言いたくはありません。なぜなら、私はその声明がすべて建設的だとは思わないからです。 34ドルの追加のdyno料金で新しいアプリケーションを作成すると、時間とお金をうまく利用することができます。

さらなる懸念。 各ウェブダイノーは限られた量のメモリを許容し、レールはメモリ上では軽いことでは正確に知られていません。 私が従業員を産んだとき、私は記憶問題のヒープに遭遇しました。 私が最終的にこの機能を使い果たした多くのものがあります。 私が午後に拘束のために "微調整"しようとすると、私は4ヶ月余分なdynoよりも多くの私の上司を費やしてしまったので、それを秤量する必要があります。

とにかく...私は労働者をどのようにフォークしたのですか

require 'heroku-api'

...

  def self.fork_workers(iDesired = 5, iQueue = nil)
    cmd = "rake jobs:work WORKER=MY_SERF"
    cmd += " QUEUES=#{iQueue}" if(iQueue)
    p cmd  
    if(RUBY_PLATFORM["mingw32"].nil?)  #DON'T WORK ON WINDOWS
      currentCount = Rush::Box.new.processes.filter(:cmdline => /#{cmd}/ ).size;
      iDesired -= currentCount;
      if(iDesired > 0)
        iDesired.times { Rush::Box.new[Rails.root].bash( cmd, :background => true ) }
      elsif(iDesired < 0)

      end
    end    
  end

最後のメモ:1つのdynoアプリは1時間放置するとスリープ状態になります。ユーザーは起床中に遅れを感じます。 https://devcenter.heroku.com/articles/dynos#dyno-idling





heroku