Подтвердить что ты не робот

Сколько Rails-приложений на 1 Heroku dyno?

Я просто не могу найти, сколько приложений вы можете разместить на герою с помощью одного динамика?

Я планирую разместить множество небольших приложений с небольшим трафиком.

Спасибо за ваши ответы

4b9b3361

Ответ 1

Динамики рассчитываются на основе каждого приложения.

Однако это не означает, что вам нужно купить 3 динамика для запуска 3 приложений. Вы можете создать 3 приложения каждый с 1 дино.

Ответ 2

Одно приложение на Dyno/subdomain.heroku.com.

Ответ 4

Я считаю, что вы можете развернуть еще один веб-процесс внутри веб-дино. Я сделал это с рабочими. У одного рабочего дина было три подпроцесса. каждая из которых является копией приложения rails, и каждый из них работает независимо от базы данных. Как вам удастся развернуть правильное приложение, я не уверен... И вам понадобится приложение-контроллер.
Я не хочу говорить, что это невозможно, потому что я не верю, что это утверждение абсолютно конструктивно. Я скажу, что создание нового приложения с дополнительным динамо-пакетом в размере 34 $в месяц было бы лучшим использованием вами времени/денег.

Еще одна проблема. каждый веб-дино позволяет использовать ограниченный объем памяти, а рельсы точно не известны для освещения в памяти. Когда я породил суб-работников, я столкнулся с кучами проблем с памятью. Так много, что я в конце концов перевернул эту функцию. Если я буду работать днем, чтобы попытаться "подстроить" ограничения, я потратил больше своих боссов на деньги, чем на 4 месяца дополнительных динозавров, поэтому я должен взвесить его.

В любом случае... Вот как я разветвлял работников

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

Последнее примечание: Один диктофон будет спать, если оставить его на один час... Ваши пользователи будут чувствовать задержку во время пробуждения. https://devcenter.heroku.com/articles/dynos#dyno-idling