2012-11-05 36 views
7

Tôi muốn người tiêu dùng thực hiện một số hành động mỗi khi nhận được tin nhắn. Phải người tiêu dùng đang chạy 24/7 "nghe" vào hàng đợi hoặc nó có thể được chạy chỉ khi một tin nhắn appropiate được nhận?RabbitMQ người tiêu dùng theo yêu cầu?

Trả lời

2

Tôi không chắc chắn câu hỏi của bạn có ý nghĩa. Tin nhắn chỉ có thể nhận được từ một hàng đợi bởi người tiêu dùng của một hàng đợi. Để biết nếu một thư nằm trong hàng đợi, người ta phải nhìn vào hàng đợi. Cách duy nhất để làm điều đó là trở thành khách hàng.

Nếu bạn thực sự muốn bạn có thể có một tập lệnh chạy giao diện dòng lệnh cho plugin quản lý. Điều đó có thể thăm dò hàng đợi và khi nó có kích thước nhiều hơn một người có thể bắt đầu một chương trình sẽ điều hành một người tiêu dùng để tiêu thụ từ hàng đợi.

Không có điều này có ý nghĩa gì cả. Nếu nó chỉ là ngồi chờ đợi hàng đợi và không làm gì khác nó hầu như không tiêu thụ bất kỳ nguồn lực nào vì vậy tôi không thấy vấn đề gì sẽ chạy một người tiêu dùng 24/7.

Tất nhiên người tiêu dùng không phải chạy 24/7, đó là một phần của điểm MQ. Nó là không đồng bộ. Người tiêu dùng không phải chạy khi nhà sản xuất ghi vào hàng đợi. Do đó, bạn có thể có một nhiệm vụ theo lịch trình chạy người dùng của bạn theo định kỳ để kiểm tra và xử lý các thông điệp từ hàng đợi. Nhưng tôi không nghĩ đó là những gì bạn muốn.

Toàn bộ điểm nghe là: không làm gì cho đến khi có thông báo, xử lý tin nhắn, không làm gì cho đến khi tin nhắn tiếp theo. Đây là những gì bạn muốn câu đầu tiên của câu hỏi của bạn. Tại sao vấn đề với nghe?

+0

Tôi đoán không có vấn đề gì. Tôi chỉ hỏi vì tôi chỉ học và tôi không biết nếu một quá trình đó chỉ là lắng nghe tiêu thụ rất nhiều tài nguyên hay không .. cảm ơn rất nhiều cho câu trả lời của bạn – vicmarq

+0

Về cơ bản không có nó không nên tiêu thụ nhiều trong cách tài nguyên . Bạn cần một quá trình chạy tất cả các thời gian nếu bạn muốn tiêu thụ tin nhắn ngay lập tức mặc dù – robthewolf

+0

Một số nói với tôi không sử dụng PHP cho các quy trình chạy dài như thế này. Bạn nghĩ gì về nó? – vicmarq

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