رابطہ RabbitMQ کے لیے (TTL) پیغام ختم ہونے کا وقت مقرر کرنے کے دو طریقے ہیں:

  1. قیویو خصوصیات کے ذریعے مقرر کریں، جہاں قطار میں تمام پیغامات کا ایک ہی ختم ہونے کا وقت ہے۔
  2. ہر پیغام کے لئے علیحدہ علیحدہ ختم وقت مقرر کریں، جو ہر پیغام کے لئے مختلف TTL کی اجازت دیتا ہے۔ اگر دونوں طریقے اکٹھے استعمال ہوتے ہیں، تو پیغام کا TTL دونوں کے درمیانچھوٹی قیمت ہوگی۔

مشورہ: قطار خصوصیات کی پہلی ترکیب کے لیے، جب پیغام ختم ہوجائے، تو وہ قطار سے ہٹا دیا جائے گا۔ دوسری ترکیب میں، حتی کہ پیغام ختم ہوجائے، تو سیدھے طور پر وہ قطار سے فوراً نہیں ہٹائا جائے گا کیونکہ ہر پیغام کا ختم ہونے سے پہلے مصنوعات کو پہنچایا جاتا ہے۔

نیچے اس کا گولینگ کے ذریعے تصور کیا گیا دکھایا گیا ہے:

قطار 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),
		})