PHP ile RabbitMQ Kullanımı – Aykut Farsak
RabbitMQ dökümantasyon sayfasında PHP ile nasıl kullanacağı anlatılmakta. Bu repo‘da hazırladığım örnek, php-amqplib kütüphanesi kullanarak publish/consume işlemlerinin kullanılmaya hazır ve daha anlaşılır bir hali:
consumer.php: RabbitMQ sunucusuna exchange, kuyruk ve routing key bilgilerini kullanarak bağlanıyor. Ardından, -mevcut consumer sayısını bakıp maximum sayıya ulaşılmadıysa- işlerin kuyruk sisteminden gelmesini beklemeye başlıyor. İşleri, consume callback içinde yapabilir ya da ayrı bir process’e gönderebilirsiniz. Bu PHP dosyası, her dakika çalışan bir cron ile CLI’dan çalıştırılabilir. Mevcut TTL süresi dolduktan sonra restart için kapanır.
publish.php: Kuyruğa bir mesaj gönderim örneği yer alıyor. Mesaj olarak encode edilmiş bir JSON string gönderebilir, işlerin yapıldığı kısımda ise decode ederek işi yapmak için gerekli detaylı veriye ulaşabilirsiniz.
worker.php: Eğer işler CLI üzerinden başka bir process’de yapmak istenirse -ki tavsiye ederim- kullanılabilir. RabbitMQ’ye gönderilen mesaj, CLI’da serialize ve encode edilmiş bir argüman olarak geldiği için unserialize ve decode işlemi gerçekleştiriliyor.
Posted on 16.09.2014 27.02.2015 Author adminCategories PHPTags php, rabbitmq
Previous Previous post: Cache Sistemlerinde “Dog-pile Effect” den Korunmak
Next Next post: Elasticsearch – Edge nGram