2010-02-12 11 views

Trả lời

7

Một ứng dụng cho mỗi Dyno/subdomain.heroku.com.

+1

Mẹ kiếp này có nghĩa là, nếu tôi muốn lưu trữ 2 hoặc 3 ứng dụng nhỏ với lưu lượng nhỏ, tôi sẽ phải trả tiền cho 3 dynos:/ Tôi nghĩ rằng tôi sẽ đi VPS – Brandom

+0

Chính xác .. hoặc sử dụng 'n 'dynos miễn phí của Heroku - nếu chúng nhỏ như bạn nói chúng phải phù hợp với 'tự do'. Nhưng tôi nghĩ rằng VPS/Root là ý tưởng tốt hơn. –

+0

Cảm ơn! BTW bạn có thể giới thiệu cho tôi một số thứ tốt (ngoại trừ slicehost) không? – Brandom

13

Dynos được tính theo từng ứng dụng.

Tuy nhiên, điều này không có nghĩa là bạn cần mua 3 dynos để chạy 3 ứng dụng. Bạn có thể tạo 3 ứng dụng với 1 dyno.

+0

Tuyệt vời! Làm thế nào để bạn biết khi nào dyno nhận được quá nhỏ? – Brandom

+2

Khi ứng dụng của bạn bắt đầu ném các lỗi 504 http://docs.heroku.com/errors#backlog-too-deep-http-504 –

+0

Bạn không thể vận hành một trang web thực sự bằng một dyno, vì nó sẽ không hoạt động. – baash05

0

Tôi tin rằng bạn có thể quay lên một trình web bên trong một Dyno web. Tôi đã làm nó với công nhân. Một công nhân dyno có 3 tiểu quy trình. mỗi bản sao của ứng dụng đường ray và mỗi bản sao chạy độc lập trên cơ sở dữ liệu. Làm thế nào bạn quản lý để quay lên các ứng dụng chính xác, tôi không chắc chắn ... Và bạn sẽ cần một ứng dụng điều khiển.
Tôi không muốn nói điều đó là không thể, bởi vì tôi không tin rằng tuyên bố đó là mang tính xây dựng. Tôi sẽ nói, sinh sản một ứng dụng mới với một khoản phí dyno thêm 34 $ một tháng sẽ là việc sử dụng thời gian/tiền bạc của bạn tốt hơn.

Một mối quan tâm khác. mỗi trang web dyno cho phép một số lượng giới hạn bộ nhớ, và đường ray không chính xác được biết đến là ánh sáng trên bộ nhớ. Khi tôi sinh ra các nhân viên phụ, tôi gặp phải nhiều vấn đề về bộ nhớ. Vì vậy, nhiều mà tôi cuối cùng đã cuộn tính năng ra. Nếu tôi làm việc cho một buổi chiều để cố gắng 'tinh chỉnh' cho các ràng buộc, tôi đã dành nhiều hơn số tiền trùm của tôi hơn 4 tháng của dyno phụ, vì vậy tôi phải cân nhắc nó.

Dù sao ... Đây là cách tôi chia hai công nhân

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 

lưu ý cuối: Một ứng dụng Dyno sẽ đi ngủ nếu còn lại một mình trong một giờ ... Người dùng của bạn sẽ cảm nhận được sự chậm trễ trong quá trình thức dậy. https://devcenter.heroku.com/articles/dynos#dyno-idling