র্যাবিটএমকিউর জন্য মেসেজ মেয়াদ উত্তীর্ণের (TTL) দুটি উপায় রয়েছে:

  1. কিউ বৈশিষ্ট্য মাধ্যমে সেট করুন, যেখানে কিউ এর সমস্ত বার্তা একই মেয়াদের সাথে থাকে।
  2. প্রতিটি বার্তা এককভাবে মেয়াদ নির্ধারণ করুন, প্রতিটি বার্তার জন্য পৃথক TTL অনুমোদন করুন। যদি উভয় পদ্ধতি একসাথে ব্যবহার করা হয়, মেসেজের TTL হবে দুটির মধ্যে ছোট মান।

পরামর্শ: কিউ বৈশিষ্ট্য নির্ধারণের প্রথম পদ্ধতিতে, একবার যখন বার্তা মেয়াদ উত্তীর্ণ হয়, তখন এটি কিউ থেকে অপসারণ হবে। দ্বিতীয় পদ্ধতিতে, যদি বার্তা মেয়াদ উত্তীর্ণ হয়, তবে এটি প্রথমভাবে কিউ থেকে অতএব মুছে ফেলা হবে না কারণ প্রতিটি বার্তার মেয়াদ বিতরণকারীদের জন্য পরে পরীক্ষা করা হয়।

নীচে এটি ভাষা প্রোগ্রামিং সমান হিসেবে Golang ব্যবহার করে এটি সেট করার নমুনা দেওয়া হল।

কিউ TTL সেট করুন

কিউ বৈশিষ্ট্য মাধ্যমে বার্তা মেয়াদ নির্ধারণ করুন (x-message-ttl)

	// কিউ বৈশিষ্ট্য
	props := make(map[string]interface{})
	// বার্তা মেয়াদ বিতরণের সময় 60 সেকেন্ড
	props["x-message-ttl"] = 60000

	q, err := ch.QueueDeclare(
		"tizi365.ttl.hello", // কিউ নাম
		true,   // কিউ ধরুন
		false,
		false,
		false,
		props, // কিউ বৈশিষ্ট্য সেট করুন
	)

বার্তা TTL সেট করুন

বার্তা বৈশিষ্ট্য মাধ্যমে বার্তা মেয়াদ নির্ধারণ করুন

err = ch.Publish(
		"tizi365",     // এক্সচেঞ্জ নাম
		"", // রাউটিং কী
		false,
		false,
		amqp.Publishing{
			Expiration: "30000", // মেয়াদ সময় 30 সেকেন্ড
			ContentType: "text/plain",
			Body:        []byte(body),
		})