ایجاد Consumer ساده
Consumer در RabbitMQ برنامهای است که پیامها را از صف دریافت کرده و پردازش میکند. در این بخش، یک نمونه Consumer ساده با استفاده از کتابخانه pika در Python ایجاد میکنیم.
نمونه کد Consumer
import pika
# اتصال به RabbitMQ
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# اطمینان از وجود صف
channel.queue_declare(queue='hello')
# تعریف تابع callback برای پردازش پیامها
def callback(ch, method, properties, body):
print(f"پیام دریافت شد: {body.decode()}")
# ثبت Consumer روی صف
channel.basic_consume(queue='hello',
on_message_callback=callback,
auto_ack=True)
print('در انتظار پیامها. برای خروج Ctrl+C را فشار دهید.')
channel.start_consuming()
توضیح کد
- اتصال به RabbitMQ: با
BlockingConnection
به سرور محلی متصل میشویم. - ایجاد یا اطمینان از وجود صف: با
queue_declare
صف'hello'
ساخته میشود در صورت عدم وجود. - تابع callback: این تابع برای پردازش پیامها تعریف میشود و هر پیام دریافتی را چاپ میکند.
- ثبت Consumer: با
basic_consume
مشخص میکنیم که کدام صف و تابع callback باید مصرف شوند. - شروع مصرف پیامها: با
start_consuming
برنامه در حالت انتظار برای پیامها قرار میگیرد.
جمعبندی
این نمونه کد پایهای برای ایجاد Consumer در RabbitMQ است. با این روش میتوان پیامهای دریافتی را پردازش کرد و سناریوهای پیچیدهتر مانند پردازش چند صف، استفاده از Exchange و مدیریت تأیید دریافت پیام (Acknowledgment) را توسعه داد.