Tôi đã viết một ứng dụng Python nhỏ chạy dưới dạng daemon. Nó sử dụng luồng và hàng đợi.Giao tiếp với trình chạy da trăn đang chạy
Tôi đang tìm cách tiếp cận chung để thay đổi ứng dụng này để tôi có thể giao tiếp với ứng dụng trong khi đang chạy. Chủ yếu là tôi muốn có thể theo dõi sức khỏe của nó.
Tóm lại, tôi muốn để có thể làm điều gì đó như thế này:
python application.py start # launches the daemon
Sau đó, tôi muốn để có thể đi cùng và làm điều gì đó như:
python application.py check_queue_size # return info from the daemonized process
Để rõ ràng, tôi không gặp bất kỳ vấn đề nào khi triển khai cú pháp lấy cảm hứng từ Django. Những gì tôi không có bất kỳ ý tưởng làm thế nào để làm là gửi tín hiệu đến quá trình daemonized (bắt đầu), hoặc làm thế nào để viết daemon để xử lý và đáp ứng các tín hiệu như vậy.
Như tôi đã nói ở trên, tôi đang tìm cách tiếp cận chung. Người duy nhất tôi có thể nhìn thấy ngay bây giờ là nói với daemon liên tục đăng nhập tất cả mọi thứ có thể cần thiết cho một tập tin, nhưng tôi hy vọng có một cách ít lộn xộn hơn để đi về nó.
CẬP NHẬT: Chà, rất nhiều câu trả lời tuyệt vời. Cám ơn rất nhiều. Tôi nghĩ rằng tôi sẽ xem xét cả hai phương pháp tiếp cận Pyro và web.py/Werkzeug, vì Twisted là một chút hơn tôi muốn cắn vào thời điểm này. Thách thức khái niệm tiếp theo, tôi cho rằng, là làm thế nào để nói về chủ đề công nhân của tôi mà không treo chúng lên.
Xin cảm ơn một lần nữa.
Cũng +1 cho giao diện HTTP. Một kịch bản lệnh python có thể phân tích các tùy chọn dòng lệnh và gửi các lệnh XMLRPC đến một máy chủ HTTP nội bộ. –
+1: HTTP. Nhúng một ứng dụng WSGI nhỏ vào daemon để trả lời các yêu cầu. –
(và @VanGale và @ S.Lott) có thể ai đó vui lòng cung cấp tài liệu tham khảo/ví dụ để chạy máy chủ http cho mục đích nhận lệnh như OP được mô tả không? Tôi cần phải làm điều này, nhưng muốn một chút chi tiết hơn. – synaptik