2012-04-22 28 views
8

Tôi vừa chuyển từ Epio sang Heroku và sau khi đọc về mô hình quy trình mới của họ và tôi đã tự hỏi làm thế nào Heroku xử lý các quy trình con. Câu hỏi thường gặp cho biết you can create subprocesses, nhưng không mô tả bất kỳ tác động nào của việc làm như vậy.Là một tiến trình con sinh ra được coi là một dyno mới trên Heroku?

Mỗi quy trình phụ có được tính là dyno mới mà bạn phải trả không? Nếu vậy, sẽ không sử dụng Gunicorn cũng có thể tốn kém vì nó đã sẵn sàng cho các quy trình con của nó? Cuối cùng, kể từ khi Heroku cô lập các quy trình của nó, làm thế nào bạn có thể giao tiếp với các tiến trình con của bạn?

Trả lời

9

Các quy trình phụ được xử lý bởi một dyno đơn.

Tôi không phải là nhà phát triển python nhưng tôi sử dụng Unicorn trên các trang web Heroku của tôi (Rails) thường với 4 quy trình con chứa tất cả trong một dyno đơn. Số lượng các tiến trình con bạn sinh ra cần phải chú ý đến mức tiêu thụ bộ nhớ - bạn nhận được 512Mb mỗi dyno để chơi.

+0

Về cơ bản, quá trình "Heroku" chứa một hoặc nhiều quy trình máy và bạn có thể làm bất cứ điều gì bạn cần miễn là bạn dưới 512 MB? – Joe

+1

khá nhiều. Tôi đã thấy mọi người chạy các nhiệm vụ kỳ lân và nền (thông qua Resque) trong cùng một quá trình dyno. 512Mb là một giới hạn mềm, bạn sẽ bắt đầu gặp lỗi R14 trong các tệp nhật ký của bạn khi bạn đi qua đó, sau đó quá trình sẽ bắt đầu hoán đổi vào đĩa và sau đó nếu bạn nhận được lên đến 1.5Gb bạn sẽ nhận được lỗi R15. –

+1

Guy Heroku Python ở đây. Điều này thực sự là chính xác. –

Các vấn đề liên quan