1 Heroku dyno上有多少个Rails应用程序?

时间:2010-02-12 09:31:19

标签: ruby-on-rails ruby hosting heroku

我只是找不到你可以用一个dyno在heroku上托管多少个应用程序?

我计划举办很多流量很小的小应用。

感谢您的回答

4 个答案:

答案 0 :(得分:13)

Dynos按每个应用程序计算。

然而,这并不意味着您需要购买3个dynos来运行3个应用程序。 您可以使用1 dyno创建3个应用程序。

答案 1 :(得分:7)

每个Dyno / subdomain.heroku.com一个应用程序。

答案 2 :(得分:0)

答案 3 :(得分:0)

我相信你可以在web dyno中启动另一个web进程。我和工人一起做过。一名工人dyno有3个子流程。每个rails应用程序的副本,每个都在数据库上独立运行。 你怎么设法启动正确的应用程序,我不确定......你需要一个控制器应用程序 我不想说这是不可能的,因为我不相信这种说法完全是建设性的。我会说,产生一个新的应用程序,每月34美元额外的dyno费用将更好地利用你的时间/金钱。

另一个问题。每个web dyno允许有限的内存,并且rails并不完全以内存上的亮度而闻名。当我产生子工作者时,我遇到了大量的内存问题。这么多,我最终推出了这个功能。如果我工作一个下午尝试'调整'约束,我花了更多的老板钱比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

最后说明: 如果单独放置一小时,一个dyno应用程序将进入睡眠状态......您的用户会在醒来时感觉到延迟。 https://devcenter.heroku.com/articles/dynos#dyno-idling

相关问题