我只是找不到你可以用一个dyno在heroku上托管多少个应用程序?
我计划举办很多流量很小的小应用。
感谢您的回答
答案 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