سؤال

أبحث عن تطبيق Rabbitmq في تطبيق PHP الخاص بي، وأنا باستخدام ملحق PHP-AMQP. سؤالي الوحيد هو هذا، كيف يمكنني بسهولة الاستعلام عن إرجاع محتويات قائمة الانتظار في PHP؟

يبدو أن PHP-AMQP لا يمكن أن تمكني من القيام بذلك. إذا كنت مخطئا، الرجاء مساعدتي هنا :)

هل كانت مفيدة؟

المحلول

جيمس، هل يمكن أن تسأل هذا السؤال على Rabbitmq- ناقش؟ تسألك يلامس ما يعنيه "الاستعلام" في قائمة الانتظار من أجل الحصول على الرسائل. في RabbitMQ، تستهلك رسائل من قوائم الانتظار، وأداء تصفية باستخدام ربط قائمة الانتظار. إلقاء نظرة على هذه المقدمة - http://blogs.digitar.com/jjww/2009/01/rabbits-and-warrens/

هتافات

الكسيس أرنبيم

نصائح أخرى

إذا كنت بحاجة إلى معرفة عدد الرسائل الموجودة في قائمة الانتظار، فيمكنك الحصول على هذه المعلومات عند إعلان قائمة الانتظار، أو إذا كنت تستخدم basic.get لاسترداد رسالة واحدة. عادة، سوف يستخدم المستفيدون من الرسائل basic.consume ولن يعرفون عدد الرسائل التي تنتظرها.

هذا النوع من السؤال أكثر حول نوع بيانات قائمة الانتظار ومفهوم AMQP العام.

في AMQP (وفي Rabbitmq، وهي قوائم انتظار متوافقة مع AMQP) هي قوائم انتظار FIFO نموذجية. قائمة الانتظار ليست هذا النوع من أنواع البيانات التي تستخدم عادة للعناصر التعسفية الوصول والأرنبيم في هذه المرة لا تقدم أي طريقة لتجاوز مفهوم FIFO والسماح بمثل هذا النوع من الوصول. على الأقل خارج الصندوق. قد تكون هناك أي إضافات جهة خارجية، لكنني لست على علم بأي نوع من هذا النوع. ومرة أخرى، سوف يدمر مفهوم FIFO بأكمله وأصبح فقط بعض الإيديه الجديد أو أيا كان، لا يتحدث حتى عن تأثير الأداء (يمكن للمرء التحقق من تعقيد عملية هياكل البيانات الشائعة، حتى هذا Q & A على ذلك - ما هي تعقيدات الوقت لهياكل البيانات المختلفة؟ يعطي فكرة موجزة لماذا لا يكون إضافة الوصول التعسفي هدفا ل AMQP أو أي وسيط متوافق مع AMQP يهتم بالأداء).

يأتي معظم الأسئلة حول الوصول إلى قائمة الانتظار التعسفي عندما يتم وضع قوائم الانتظار في سياق خاطئ: قد يكون الأمر عبئا عندما لا يصلح مفهوم قائمة الانتظار إلى الهندسة المعمارية الحالية أو الرغبة وعندما تكون بعض تخزين القيمة الرئيسية أو قبضة قاعدة البيانات بشكل أفضل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top