2012-06-23 38 views
5

Cách tốt nhất để kết nối hai daemon trong Python là gì?Kết nối hai daemon trong python

Tôi có daemon A và B. Tôi muốn nhận dữ liệu được tạo bởi B trong mô-đun của A (có thể hai chiều). Cả hai trình tiện ích đều hỗ trợ các plugin, vì vậy tôi muốn đóng giao tiếp trong các plugin. Cách tốt nhất và đa nền tảng để làm điều đó là gì?

Tôi biết ít cơ chế từ các giải pháp cấp thấp - bộ nhớ dùng chung (C/C++), ống linux, ổ cắm (TCP/UDP), v.v ... và ít hàng cao cấp (JMS, Rabbit), RPC.

Cả hai trình tiện ích phải chạy trên cùng một máy chủ, nhưng rõ ràng cách tiếp cận tốt hơn là trừu tượng từ loại kết nối.

Giải pháp/thư viện điển hình trong python là gì? Tôi đang tìm kiếm một giải pháp nhẹ nhàng và thanh lịch. Tôi không cần máy chủ bên ngoài, chỉ cần hai quá trình nói chuyện với nhau.

Tôi nên sử dụng gì trong python để làm điều đó?

+1

Hàng đợi thư có nhiều khả năng là giải pháp thanh lịch nhất. – ThiefMaster

+0

Hmm như hàng đợi tin nhắn Tôi hiểu RabbitMQ/JMS, v.v. Tôi muốn tránh bên ngoài, daemon thứ ba/máy chủ để xử lý toàn bộ giao tiếp. Bên cạnh việc giao tiếp sẽ thực sự căng thẳng, vì vậy có lẽ ngay cả khi hàng đợi là cách thanh lịch nhất, tôi nghĩ rằng một cái gì đó đơn giản hơn có thể tốt hơn. – Simon

+1

Tôi sẽ nói dbus, nhưng hiện tại có phiên bản windows của dbus. – dav1d

Trả lời

0

Tôi không chắc chắn làm thế nào nặng là giao thông của bạn, nhưng Tôi muốn giới thiệu gói asyncore. Nó khá đơn giản để sử dụng và nó được dựa trên ổ cắm.

Tôi đã thực hiện lệnh mẫu với thời gian dài trước đây. Tôi có thể khai thác mã nếu bạn quan tâm.

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