Anasayfa / python / RabbitMQ Kuyruğundaki Bekleyen Mesaj Sayısını Öğrenme

RabbitMQ Kuyruğundaki Bekleyen Mesaj Sayısını Öğrenme

RabbitMQ, yaygın olarak kullanılan açık kaynaklı bir mesaj kuyruğu sistemidir. Bu makalede, RabbitMQ kuyruğundaki bekleyen mesaj sayısını öğrenmek için Python ve RabbitMQ Management Plugin kullanarak nasıl bir işlem yapabileceğinizi anlatacağım.

Öncelikle, RabbitMQ Management Plugin’i etkinleştirmeniz gerekmektedir. Bu, aşağıdaki komutla yapılabilir:

rabbitmq-plugins enable rabbitmq_management

Ardından, Python requests kütüphanesini kullanarak RabbitMQ HTTP API’sine istek göndererek bekleyen mesaj sayısını alabilirsiniz.

import requests
import json

def get_message_cnt():
    rabbitmq_host = "your_rabbitmq_host"  # RabbitMQ sunucusunun IP adresini veya adını girin
    rabbitmq_port = 15672
    rabbitmq_user = "your_rabbitmq_user"  # RabbitMQ kullanıcı adını girin
    rabbitmq_password = "your_rabbitmq_password"  # RabbitMQ şifresini girin
    queue_name = "testkuyrugu"  # Kuyruk adını girin
    vhost = "/"  # Varsayılan değer olarak kök sanal host'u kullanın
    vhost_encoded = "%2f"

    url = f"http://{rabbitmq_host}:{rabbitmq_port}/api/queues/{vhost_encoded}/{queue_name}"
    response = requests.get(url, auth=(rabbitmq_user, rabbitmq_password))

    if response.status_code == 200:
        queue_info = json.loads(response.text)
        message_count = queue_info["messages"]
        print(f"Kuyruktaki bekleyen mesaj sayısı: {message_count}")
        return int(message_count)
    else:
        print("Hata: Kuyruk bilgileri alınamadı.")
        print(response.text)
        print(url)
        return 0

# Kullanım örneği
message_count = get_message_cnt()
print(f"Toplam bekleyen mesaj sayısı: {message_count}")

Kod, belirtilen RabbitMQ sunucusuna ve kuyruğa bağlanır ve bekleyen mesaj sayısını döndürür. Kodu çalıştırmadan önce, rabbitmq_host, rabbitmq_user ve rabbitmq_password değişkenlerini kendi yapılandırmanıza göre güncellemeniz gerekir.

get_message_cnt fonksiyonu, RabbitMQ sunucusundan kuyruk bilgilerini alır, bekleyen mesaj sayısını ekrana yazdırır ve döndürür. Eğer kuyruk bilgileri alınamazsa, hata mesajları yazdırılır ve 0 döndürülür. Bu işlem, RabbitMQ kuyruğundaki bekleyen mesaj sayısını öğrenmek için kullanılabilir.

Hakkında ibrahim

İlgili Makaleler

python locale.Error: unsupported locale setting locale.setlocale(locale.LC_ALL, ‘Turkish_Turkey.1254’)

if os.name == 'nt': locale.setlocale(locale.LC_ALL, 'Turkish_Turkey.1254') yeni windows updateleri ile artık Türkiye (‘Turkish_Türkiye’, ‘1254’)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir