Tôi muốn một số suy nghĩ về việc sử dụng fork {} để 'nền' một quá trình từ một ứng dụng đường ray là một ý tưởng hay ...sử dụng hạt nhân # ngã ba cho quá trình nền, thuận? khuyết điểm?
Từ những gì tôi thu thập ngã ba {my_method; Quá trình # setsid} thực tế làm những gì nó phải làm.
1) tạo ra một quá trình với một PID khác nhau
2) không làm gián đoạn quá trình gọi điện thoại (ví dụ như nó tiếp tục w/o chờ ngã ba để kết thúc)
3) thực hiện cho đến khi đứa trẻ nó kết thúc
.. điều gì tuyệt vời, nhưng đó có phải là một ý tưởng hay không? Chính xác là cái nĩa đang làm gì? Liệu nó tạo ra một trường hợp trùng lặp của toàn bộ đường ray của tôi mongrel/hành khách dụ trong bộ nhớ? Nếu vậy thì sẽ rất tệ. Hay, bằng cách nào đó, nó làm điều đó mà không tốn nhiều bộ nhớ.
Mục tiêu cuối cùng của tôi là xóa bỏ nền hệ thống/hàng đợi nền của tôi để ủng hộ các quy trình này (chủ yếu là gửi email) - nhưng nếu điều này không tiết kiệm được bộ nhớ thì chắc chắn là một bước sai hướng
Tôi sẽ gắn bó với hệ thống xếp hàng. Nếu bạn đang sử dụng một gói được duy trì tốt cho điều này, bạn sẽ không phải lo lắng về việc khai thác bom nĩa và nhiều chi tiết khác cần thiết cho một hệ thống xếp hàng tốt. Đây là một trường hợp bạn nên cẩn thận khi lăn mã của riêng bạn trừ khi có nhu cầu rõ ràng để làm như vậy. –
xếp hàng máy chủ ++. Có thể muốn kiểm tra MQ (http://github.com/mdarby/mq) để xếp hàng email. Tôi đã sử dụng nó trong sản xuất trong nhiều tháng mà không có vấn đề gì. –