پرائیورٹی کیوز، جیسا نام سامنے ہے، بلند ترین پرائیورٹی والے پیغامات کو استعمال کے لئے ترجیح دیتے ہیں۔
RabbitMQ پرائیورٹی کیوز کے لئے نوٹس کرنے کے نکات:
- پرائیورٹی کیوز صرف اس صورت میں فائدہ دیتے ہیں جب غیر کافی مصنوعات ہوں اور وقت پر استعمال نہیں کیا جا سکتا۔
- پرائیورٹی کیوز صرف RabbitMQ ورژن 3.5 کے بعد سپورٹ کیا گیا ہے۔
RabbitMQ پرائیورٹی کیوز استعمال کرنے کے اقدامات
- قو قاقین کی زیادہ سے زیادہ پرائیورٹی تعین کریں۔
- پیغام کی پرائیورٹی تعین کریں۔
قو قاقین کی زیادہ سے زیادہ پرائیورٹی تعین کریں
قو قاقین کو جاری کرتے وقت، قو قاقین کی زیادہ سے زیادہ پرائیورٹی کو قو قاقین کی خصوصیت (x-max-priority) کے ذریعے تعین کریں۔ پرائیورٹی کی زیادہ سے زیادہ قیمت 255 ہے، اور یہ تجویز کیا گیا ہے کہ اسے 1 اور 10 کے درمیان تعین کرنا چاہئے۔ Golang میں ترتیب دینا:
// قو قاقین کی خصوصیات
props := make(map[string]interface{})
// قو قاقین کی زیادہ سے زیادہ پرائیورٹی تعین کریں
props["x-max-priority"] = 10
// قو قاقین کا اعلان کریں
q, err := ch.QueueDeclare(
"tizi365.hello", // قو قاقین کا نام
true, // قو قاقین دائمی ہو
false, // غیر استعمال ہونے پر حذف کریں
false, // خصوصی
false, // نو-انتظار
props, // قو قاقین کی خصوصیات تعین کریں
)
ٹپ: دیگر زبانوں میں ترتیب دینے کا طریقہ مماثل ہے۔
پیغام کی پرائیورٹی تعین کریں
Golang میں ترتیب دینا:
err = ch.Publish(
"tizi365", // ایکسچینج
"", // راستہ کی چابی
false,
false,
amqp.Publishing{
Priority:5, // پیغام کی پرائیورٹی تعین کریں
DeliveryMode:2, // پیغام کی تحریریت موڈ، غیر دائمی کے لئے 1، دائمی کے لئے 2
ContentType: "text/plain",
Body: []byte(body),
})