প্রাথমিকতা কিউ, যেমন নামেই প্রতিক্রিয়ার উচ্চ প্রাথমিকতায় বাণীগুলির উচ্চ প্রাথমিকতা দেওয়া হয়।
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, // Exclusive
false, // No-wait
props, // কিউ বৈশিষ্ট্য সেট করুন
)
উপদেশ: অন্য ভাষার সেট করার পদ্ধতিটি অনুরূপ।
বার্তার প্রাথমিকতা সেট করুন
Golang এ সেট করা:
err = ch.Publish(
"tizi365", // এক্সচেঞ্জ
"", // রাউটিং কী
false,
false,
amqp.Publishing{
Priority:5, // বার্তার প্রাথমিকতা সেট করুন
DeliveryMode:2, // বার্তার ডেলিভারি মোড, 1 টি অস্থায়ী, 2 টি স্থায়ী
ContentType: "text/plain",
Body: []byte(body),
})