Producer در RabbitMQ برنامهای است که پیامها را تولید کرده و به صفها یا Exchangeها ارسال میکند. در این بخش، یک نمونه Producer ساده با استفاده از کتابخانه pika در Python ایجاد میکنیم.
نمونه کد Producer
import pika
# اتصال به RabbitMQ
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# ایجاد صف در صورت عدم وجود
channel.queue_declare(queue='hello')
# ارسال پیام به صف
channel.basic_publish(exchange='',
routing_key='hello',
body='سلام از Python!')
print("پیام ارسال شد")
# بستن اتصال
connection.close()
توضیح کد
- اتصال به RabbitMQ: با استفاده از
BlockingConnection
به سرور محلی متصل میشویم. - ایجاد صف: با
queue_declare
صف'hello'
ساخته میشود اگر قبلاً وجود نداشته باشد. - ارسال پیام: پیام با استفاده از
basic_publish
به صف ارسال میشود. در این مثال ازexchange=''
استفاده شده که به صف مستقیم اشاره دارد. - بستن اتصال: پس از ارسال پیام، اتصال به سرور بسته میشود.
جمعبندی
با چند خط کد ساده میتوان یک Producer ایجاد کرد که پیامها را به RabbitMQ ارسال میکند. این کد پایه برای سناریوهای پیچیدهتر مانند استفاده از Exchangeها و Routing Keyها است و میتواند به راحتی گسترش یابد.